2

Предположим, что у вас есть сценарий, который принимает пару аргументов командной строки и выдает свои результаты до stdout.Аргументы для подачи сценариев пакетного сценария Windows

вручную вызов этого сценария будет выглядеть следующим образом:

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

Я собираюсь сказать «да».

Я искал в Интернете Google для 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

+0

спасибо, @jeb. Я обновил версию «в файле». –

+0

@jeb: спасибо за время заставки. – zergocisc

Смежные вопросы