2012-06-04 504 views
2

我寫一個bat文件,我需要它在同一時間從一個txt文件中讀取一行,並執行一個命令,每次再移動到下一行並再次執行相同的命令。所以基本上我會有一個帶有30個IP地址的文本文件,然後我想讓bat讀取第一個文件,在它上面執行命令,將輸出寫入一個單獨的txt文件,然後移動到第2行,執行命令然後將輸出寫入一個txt文件,然後將第3行等等,任何人都可以幫助我呢?我不介意,如果你想我使用VBScript,但然後請解釋清楚,因爲我不明白VBScript很好:(bat文件來一次讀取一行,並執行一個命令,然後移動到下一行

請我絕望我正在與另一個工具集成它來運行審計我是這樣做,我需要幫助

+1

使用FOR/F讀取文件的一行一次。從命令行輸入'HELP FOR'獲取更多信息。使用標準重定向將輸出寫入文件'command> file'。如果遇到困難,請查看您可以使用更新後的問題獲取併發布代碼。請注意,FOR變量在批處理文件中使用雙百分比來訪問,如''%% A' – dbenham

回答

5

你不需要的VBScript對於這樣一個簡單的任務,如果ip.txt是您的IP不會忽略該文件中,然後在你的.bat或.cmd把

echo off 
::to write the result to separate files 
for /f %%a in (ip.txt) do ping -n 1 %%a>%%a.txt 

::to write the result to one file 
for /f %%a in (ip.txt) do ping -n 1 %%a>>output.txt 

由%替換%%,如果你給出的命令在控制檯

+2

中給出的,您的代碼被構造爲一個批處理文件,回顯在頂部,您可能應該在代碼中使用%% a並且相應地在底部更改你的筆記:) – dbenham

+0

你是對的,通過測試在出現提示等開始。 – peter

相關問題