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



有人可以建议我在哪里错了吗?我想在文件夹中运行所有文件,其中文件名包含单词费用

cd /D Z:System AdministratorSystem BackupsScripts
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"

我相信正在寻找的是实际执行python文件%%i的指令。我不是python专家 - 我不知道您是否只需在提示或somexecutablename whatever.py中使用whatever.py

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

start版本中的空字符串是WindowTitle。即使是空的,它也确实需要在那里 - 但是您可以用"%%i"替换它以将执行文件显示为窗口标题。

最新更新