我在 C:atch 中有一个 robocopy 批处理文件。这是批处理文件:
set LOG="C:\Log\robolog.txt"
set START1="C:\WORK"
set END1="\\fs-02\Work"
Robocopy %START1% %END1% /MIR /PURGE /SEC /SECFIX /R:1 /W:5 /V /ETA /LOG:%LOG%
我的问题是,如果我从包含此批处理文件的位置(c:atch)打开cmd并从那里运行它,它只会一遍又一遍地运行它并且永远不会结束......而且我什至不能终止 cmd....
Ctrl+C
只会加速循环.....
但是如果 cmd 起始位置在其他地方,则批处理文件会正常运行并完成。
知道为什么我不能直接从包含它的位置运行这个 robocopy 批处理文件吗?
原因
例如,如果您有一个名为
Robocopy.cmd
的批处理脚本,则执行该脚本时将出现无限循环。
发生在我身上
我正在测试并注意到这一点,但不知道脚本名称与命令相同会导致Robocopy无限循环。它可以从命令行运行,但一旦执行就会从批处理脚本中无限循环。
解决方案
不要将批处理脚本仅命名为
Robocopy
并将其重命名为不同的名称,例如Robocopyzzz
、script123
等
由于@MCND和@foxdrive已经评论了解决方案/原因是文件与命令本身具有相同的名称。
将 .bat 文件的名称更改为 robocopy.bat 中的其他名称。
这也发生在我身上。