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