[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何判断hosts文件中的空行?

想要实现向hosts文件添加新的解析信息,但是,如何才能判断在hosts文件中最后一行是空行?

空行的话,添加进来的解析信息就会直接和原来的最后一行在一起显示,就失效了。

如果是不空行,那就用echo.添加一个空行,然后添加hosts解析信息(这个我会)。但是现在不知道怎么判断,高手帮忙搞搞。

主要是不想让hosts文件中出现N多空行,所以想解决下。

你用 echo 127.0.0.1 loaclhost>>hosts 就不会有问题 不用去判断空行的

TOP

  1. set hosts=%SystemRoot%\system32\drivers\etc\hosts
  2. findstr /v $ %hosts% && echo;>%hosts%
  3. echo ip  addr>>%hosts%
复制代码

TOP

  1. (sed -n $p|findstr/x ^$&&echo 是空行||echo 不是空行)<%windir%\system32\drivers\etc\hosts
复制代码

TOP

  1. echo. >>%winroot%\system32\drivers\etc\hosts
复制代码
加一个空行不就好了。

TOP

2楼的和5楼相似
3楼的我试过了,结果hosts文件被清空了。只能加当前一条。
4楼的我试过了,'sed' 不是内部或外部命令,也不是可运行的程序。
5楼的我也会,只是以后每次加的时候,都会多一个空行,不紧凑。

TOP

回复 6# oett


    sed是三方工具,需要先下载的(http://bbs.bathome.net/thread-1114-1-1.html),放在system32目录

TOP

把>改成>>不就得了
  1. set hosts=%SystemRoot%\system32\drivers\etc\hosts
  2. findstr /v $ %hosts% >nul && echo;>>%hosts%
  3. echo ip  addr>>%hosts%
复制代码

TOP

回复 5# wolfan


经鉴定,你没看清楼主在问什么。

TOP

返回列表