在forfiles中使用call函数

3

我有一个脚本,我想为目录中的每个文件调用一个函数。使用forfiles,我已经能够列出它们,例如:

forfiles /p "%myPath%" /c "cmd /c echo @path NAME @file"

注意:myPath是带有空格的路径,因此我必须将其放在""中。
但是,我需要在我的批处理文件中使用一个名为LaunchRun的函数,因此我尝试了以下方法:
forfiles /p "%myPath%" /c "call:LaunchRun @path @file"

我的函数需要两个参数。问题是我得到了以下错误:

错误:系统无法找到指定的文件。

翻译后:

错误:系统无法找到指定的文件。

由于我找到的每个示例都使用了启动新控制台的 /c 选项,所以我也尝试了这样做,就像我用 echo 命令一样:

forfiles /p "%myPath%" /c "cmd /c call:LaunchRun @path @file"

但是我得到了以下错误信息:

在批处理脚本文件之外无效地尝试调用批处理标签。

这个错误是因为我在新的控制台中调用它。

我该怎么做才能在循环中调用我的函数呢?

谢谢您提前的帮助。

1个回答

2

只需使用for循环:

for /r "%myPath%" %%a in (*) do call:LaunchRun "%%~a" "%%~nxa"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接