gpt4 book ai didi

batch-file - 使用调用 结果为 "sleep is not recognized as an internal or external command.."

转载 作者:行者123 更新时间:2023-12-05 03:08:57 32 4
gpt4 key购买 nike

我有一个在 for 循环中调用其他命令的脚本:

for %%x in (%CMDS::= %) do (
call C:\%%x %1%
echo "%%x complete"
)

但是,运行它会导致控制台吐出:

'sleep' is not recognized as an internal or external command,
operable program or batch file.

这是因为我循环运行的文件中包含这些命令。为什么如果我一个一个地运行这些文件它们就可以工作,但是当使用 call 链接时它们却不能?我可以在这个脚本之外的终端中 sleep ..

问候

最佳答案

批处理中没有sleep命令。这就是您收到此错误的原因。

编辑:Windows CMD 或 Batch 中没有 sleep 命令。但是:因为您可以在控制台中使用该命令,所以我想可能有一个名为 sleep 的脚本或程序。此脚本或程序可能位于您的工作目录 或您的%PATH% 变量中包含的其他目录中。如果是这种情况,您的脚本可能会因为路径问题而给您这个错误。

比如说,您在 C:\SomeFolder 中,其中有一个 sleep.exe。您正在调用另一个将当前目录更改为 D:\AnotherFolder 的脚本或命令。现在另一个脚本或命令试图执行你神秘的 sleep 命令,假设工作目录是 C:\SomeFolder 但因为你在不同的文件夹中(D:\SnotherFolder) 现在,找不到 sleep。此外,当使用 call 时,调用脚本的变量范围也成为被调用脚本的范围。所以变量也有可能被不同的脚本覆盖。这样的变量可能包含您的 sleep 命令的路径。这也可能导致错误。

关于batch-file - 使用调用 <file.bat> 结果为 "sleep is not recognized as an internal or external command..",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44262120/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com