批处理文件循环-运行所有符合findstr标准的文件

时间:2019-07-09 09:52:57

标签: batch-file

有人可以告诉我我错了吗?我希望在文件名包含Expenses的文件夹中运行所有文件

cd /D Z:\System Administrator\System Backups\Scripts\

FINDSTR /S /M "expenses" *.*

FOR /F %%i in ('findstr /I /S /M "expenses" *.py') DO command %%i

findstr会为我提供所需文件的列表,但我无法让它们运行并得到以下错误:该命令未被识别为内部或外部命令。

文件列表将为
费用2017-18.py
费用2018-19.py
等等

预先感谢

更新
我发现此方法可行,尽管我欢迎任何改进

for /R %%f in (*expenses*.py) do start python "%%f"

1 个答案:

答案 0 :(得分:0)

我相信所寻求的是真正地执行 python文件%%i的指令。我不是python专家-我不知道您是否只需要在提示中使用whatever.pysomexecutablename whatever.py

我相信您可能需要call "%%i"来串行运行文件,或者要并行运行,请使用start "" "%%i"。无论哪种情况,如果您需要somexecutablename,请在"%%i"之前插入。

start版本中的空字符串是windowtitle。它确实需要存在,即使为空-但您可以将其替换为"%%i"以显示正在执行的文件名作为窗口标题。