2014-10-11 48 views
0

我成功添加這個腳本文件內容,添加文本文件,如果不存在

@echo off 

set hostspath=%windir%\System32\drivers\etc\hosts 

echo 99.127.158.114 www.example.com >> %hostspath% 

exit 

但是,如果我再次運行該批處理文件,它再次添​​加行。並有重複。我想這樣做,當我運行蝙蝠時,它應該使文件內容爲空,然後放入內容(或檢查addedi是否添加)。什麼是正確的方法來做到這一點?

+0

這可能是完全關閉基地(我不是一個Windows的傢伙),但''>>通常意味着**追加* *。嘗試用'>'來代替文件 – 2014-10-11 15:04:51

+0

@DrewHammond:你說得對。但是'hosts'通常有多行,如果它不在那裏,他想添加一行。 – Stephan 2014-10-11 15:12:27

+0

當你需要時,「sed」在哪裏? – 2014-10-11 15:15:02

回答

1
find "99.127.158.114 www.example.com" %hostspath% || echo 99.127.158.114 www.example.com>>%hostspath% 

||充當「如果前一個命令失敗,那麼......」

+0

「>」需要是「>>」。並且像魅力一樣工作。 – user198989 2014-10-11 17:53:41

+0

是的 - 當然。編輯。 – Stephan 2014-10-11 20:11:35

相關問題