Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Robocopy batchscript继续重新启动_Windows_Powershell_Batch File_Command Line Interface - Fatal编程技术网

Windows Robocopy batchscript继续重新启动

Windows Robocopy batchscript继续重新启动,windows,powershell,batch-file,command-line-interface,Windows,Powershell,Batch File,Command Line Interface,我想将我的个人数据备份到我的专用网络中的networkdrive。 为此,我尝试使用以下脚本: 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 sta

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

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上执行每个步骤。
如何更改此行为?

切勿调用与系统命令相同的批处理文件

cmdline和批处理的工作方式:

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


在本例中,您没有指定完整的可执行文件robocopy.exe,它在第一次找到时调用了本地文件robocopy.bat。如果你调用robocopy.exe,它将不会启动.bat,但是作为一个好的措施,总是调用批处理文件,识别它将启动什么,并结合它所做的。即robocopy_backups.bat

当exe被称为robocopy.exe时,不要调用脚本robocopy.bat。脚本正在调用自身。请将批处理文件命名为其他名称。Robocopy是可执行文件的名称。试试myrobocopy.batWell。。。那很容易。谢谢