我有一个脚本,我想为目录中的每个文件调用一个函数。使用forfiles
,我已经能够将它们列为:
forfiles /p "%myPath%" /c "cmd /c echo @path NAME @file"
注意:myPath是一个带空格的路径,因此我必须将其放在""
内。
但是,我需要在我的批处理文件中使用函数LaunchRun
,所以我尝试了:
forfiles /p "%myPath%" /c "call:LaunchRun @path @file"
我的函数需要两个参数。问题是我得到了:
错误:El sistema no puede encontrar el archivo especificado。
Translanted:
错误:系统找不到指定的文件
由于我发现的每个例子都使用/c
选项启动了一个新的控制台,我也这样做了,就像我对echo
一样:
forfiles /p "%myPath%" /c "cmd /c call:LaunchRun @path @file"
但后来我得到了:
Intentonoválidodellamar una etiqueta por lotes fuera de un archivo de script por lotes。
翻译:
无效尝试在文件批处理脚本之外调用批处理标签。
这似乎是因为我在一个新的控制台中调用它。
如何才能在循环中调用我的函数?
提前谢谢
答案 0 :(得分:1)
只需使用for循环:
for /r "%myPath%" %%a in (*) do call:LaunchRun "%%~a" "%%~nxa"