在文件夹中的文件夹上运行perl脚本

时间:2013-12-16 13:48:27

标签: perl batch-file

我有4个Perl脚本,我通过批处理文件运行它们来运行每个文件

Scripts.bat

perl script1.pl %1
perl script2.pl %1
perl script3.pl %1
perl script4.pl %1

然后在给定的文件夹中运行它我使用perl命令(这里%1是传递文件夹名称的地方)

perl -le "-f and print and `scripts.bat $_` for map <$_\\*>, pop||'.'" %1

但这只适用于第一级的文件夹。

我需要让它通过文件夹递归(文件夹中的文件夹)运行。它也可以在文件夹中有超过2个级别的文件夹。

喜欢如果

abc(folder) > xyz(folder) > file4.c, file5.c, file6.c
            > file1.c
            > file2.c
            > file3.c

它应该在所有文件上运行。

欢迎任何形式的帮助,无论是一些perl脚本还是一个perl perl命令或批处理文件

1 个答案:

答案 0 :(得分:1)

来自批处理文件:

for /r "c:\abc" %%f in (*.c) do call "scripts.bat" "%%f"

要从命令行运行它,请将%%f替换为%f