首页 > 解决方案 > Robocopy 批处理脚本不断重启

问题描述

我想将我的个人数据备份到我的专用网络中的网络驱动器。为此,我尝试使用此脚本:

echo started robocopy

:: User
robocopy C:\Users\%USERNAME% Y:\BACKUP\C\Users\%USERNAME% /z /mir /xj

但脚本不断重启......

PS C:\tools\Utility> .\Robocopy.bat

C:\Users\MyUser\SAVE\Skripte\Utility>echo started robocopy
started robocopy

C:\Users\MyUser\SAVE\Skripte\Utility>robocopy C:\Users\MyUser Y:\BACKUP\C\Users\MyUser /z /mir /xj

C:\Users\MyUser\SAVE\Skripte\Utility>echo started robocopy
started robocopy

C:\Users\MyUser\SAVE\Skripte\Utility>robocopy C:\Users\MyUser Y:\BACKUP\C\Users\MyUser /z /mir /xj

C:\Users\MyUser\SAVE\Skripte\Utility>echo started robocopy
started robocopy

C:\Users\MyUser\SAVE\Skripte\Utility>robocopy C:\Users\MyUser Y:\BACKUP\C\Users\MyUser /z /mir /xj

C:\Users\MyUser\SAVE\Skripte\Utility>echo started robocopy
started robocopy

C:\Users\MyUser\SAVE\Skripte\Utility>robocopy C:\Users\MyUser Y:\BACKUP\C\Users\MyUser /z /mir /xj

C:\Users\MyUser\SAVE\Skripte\Utility>echo started robocopy
started robocopy

似乎它在 CLI 上执行每个步骤。我该如何改变这种行为?

标签: windowspowershellbatch-filecommand-line-interface

解决方案


永远不要像系统命令一样调用批处理文件。

cmdline 和批处理如何工作:

首先,它将检查您正在调用的文件的本地目录,其中文件正在从其中启动。接下来,它将检查您正在调用的文件的系统和用户环境变量。

在这种情况下,您没有指定完整的可执行文件,robocopy.exe它调用了robocopy.bat首先找到的本地文件。您是否调用了 robocopy.exe,它不会启动 .bat,但作为一个好的措施,始终调用批处理文件来识别它将启动的内容以及它所做的事情。IErobocopy_backups.bat


推荐阅读