windows - 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 上执行每个步骤。我该如何改变这种行为?
解决方案
永远不要像系统命令一样调用批处理文件。
cmdline 和批处理如何工作:
首先,它将检查您正在调用的文件的本地目录,其中文件正在从其中启动。接下来,它将检查您正在调用的文件的系统和用户环境变量。
在这种情况下,您没有指定完整的可执行文件,robocopy.exe
它调用了robocopy.bat
首先找到的本地文件。您是否调用了 robocopy.exe,它不会启动 .bat,但作为一个好的措施,始终调用批处理文件来识别它将启动的内容以及它所做的事情。IErobocopy_backups.bat
推荐阅读
- angular - 身份服务器 4+.NET Core 2.0 + 身份
- javascript - 如何在 php 文件中显示以下数据
- ruby-on-rails - 在 HTTP 上下文之外调度 Rails 控制器操作(不在单元测试中)
- android-espresso - Android Espresso:如何检查 EditText 的“drawableStart”?
- javascript - 使用 javascript 正则表达式更改图像 url 中的高度和宽度
- java - HttpUnit - 如何使用 getTextBlocks
- php - Symfony 3 - 在我的服务 args 中添加 security.authorization_checker 会导致重定向过多
- angular - Angular 5 属性指令不适用于鼠标事件
- java - java.lang.InstantiationException 第二次
- python-3.4 - Python - 从文件中读取整数并在操作后将其替换为同一文件