2

假設您有一個腳本需要幾個命令行參數並將其結果轉儲到stdoutWindows批處理腳本提交參數

手動調用此腳本看起來就像這樣:

perl foo.pl arg1 arg2 arg3 

如果沒有問題,改變劇本,是有可能在Windows下采取文件的內容(例如,input.txt是一個多行文本文件與arg{1,3}由每行一個空格分隔),並執行這樣的:現在

foreach line in input.txt 
    perl foo.pl current_line >> output.txt 

,我只是有另一個Perl腳本,這樣做,但不知道是否這是可能的反正。

回答

2

我會說是。

我搜索了谷歌的網頁windows batch loops並得到這個網頁:http://www.robvanderwoude.com/for.php

我周圍挖的網站上,找到了這個網頁:http://www.robvanderwoude.com/ntfor.php#FOR_F

所以它看起來像代碼會是這樣的......

FOR /F %%variable IN (input.txt) DO perl foo.pl %%variable >> output.txt 
+0

語法是有點不同。在批處理文件FOR/F %% a IN(input.txt)DO perl foo.pl %% a >> output.txt中。在命令提示符FOR/F%a IN(input.txt)DO perl foo.pl%a >> output.txt – jeb 2010-11-15 19:55:23

+0

謝謝,@jeb。我已更新到「在文件中」版本。 – 2010-11-15 20:21:14

+0

@jeb:感謝節省時間。 – zergocisc 2010-11-15 20:29:22