![](/img/trans.png)
[英]Windows 8.1 unable to run batch file without command prompt flashing
[英]Batch file flashing command prompt in endless loop after being executed
我想使用ROBOCOPY来备份文件夹。 为了解这一点,我创建了一个测试源文件夹,其中包含其他子文件夹和虚拟文件。
F:\RoboCopy\RoboCopy_Files
我能够从命令行和PowerShell(使用Windows 10)ROBOCOPY源文件夹。
ROBOCOPY "RoboCopy_Files" "RoboCopy_Files_Testing" /MIR
它完全符合我的要求。
现在我将命令放入批处理文件Robocopy.cmd
。
但是,当我将相同的命令放入Robocopy.cmd文件时 ,在根F:\\ RoboCopy文件夹中运行它,我只得到闪烁的cmd窗口 ,我的命令在越来越多的行上重复。
如何将命令放入CMD文件(例如Robocopy.cmd)以供以后使用/共享/计划? 如何在不运行命令的情况下防止命令提示符在无限循环中闪烁?
注意:我觉得这更像是学习如何将cmd脚本放入文件,而不是如何使用ROBOCOPY。
我想在ROBOCOPY文件中使用ROBOCOPY命令。 这是个错误。
该文件最终调用自己。
一种解决方案是将批处理文件重命名为与文件中的命令不同。
另一个解决方案可能是使用ROBOCOPY.exe或显式指定exe的完整路径,如C:... \\ robocopy.exe 。 这可以防止调用命令与调用批处理文件本身的“混淆”。
最好的解决方案(再次是Mofi)是将1 x 2组合在一起。 使用唯一的批处理文件名并在批处理文件中指定命令(exe)的完整路径。
有用的相关命令:要确定命令(exe)的完整路径,请参阅WHERE命令(例如,Robocopy.exe - 这应该位于Windows文件夹中的某个位置。),系统变量(例如SS64 )或命令SET 。
在我的情况下,完整版将运行例如BackupRobocopyFiles.cmd与行:
%SystemRoot%\System32\robocopy.exe "RoboCopy_Files" "RoboCopy_Files_Testing" /MIR /R:2
注意:仅当cmd文件位于根文件夹F:\\ RoboCopy中时,此方法才有效。 如果我想从不同的文件夹(或任务sheduler)运行cmd,我将指定ROBOCOPY命令的SOURCE_FOLDER和DESTINATION_FOLDER参数的完整路径。
根据以下评论找到答案:“MC ND”,“eryksun”。 “Mofi”确实指出,原来的Q没有帮助。 谢谢大家。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.