让 robocopy 跳过文本文件中的离线计算机

让 robocopy 跳过文本文件中的离线计算机

我正在尝试编写一个批处理文件,将robocopy服务器上的 msi 文件发送到当时在线的所有域 PC。它应该跳过已列出该文件的 PC 和离线的 PC。

目前我正在用这个。

for /f %%i in (\\domain.lan\folder\folder\computers.txt) do robocopy c:\software\msifolder \\%%i\c$\install /MIR

之后,我psexec在目标电脑上打开 CMD 并运行 MSImsiexec

psexec \\computername.domain.lan -u domain\"Username" -p "Password" cmd >> \domain.lan\folder\folder\software.install.txt 2>&1
msiexec.exe /quiet  /i c:\install\software.msi /norestart

这个想法是让这个脚本作为一项任务运行一周,以便在尽可能多的无人值守的电脑上安装程序。

和运行正常。但不断重试访问离线的psexecPC 。它应该直接跳到下一台计算机。msiexecrobocopy

我尝试提供尽可能多的信息。如果您需要更多信息,请告诉我。

答案1

/W/R开关添加到您的 RoboCopy 命令。

科技网

/r:<N> 指定复制失败的重试次数。
          N 的默认值为 1,000,000(一百万次重试)。

/w:<N> 指定重试之间的等待时间(以秒为单位)。
          N 的默认值为 30(等待时间 30 秒)。

因此命令:

robocopy c:\software\msifolder \\%%i\c$\install /MIR /R:1 /W:1

每隔一秒将重试一次,如果远程机器处于离线状态,则放弃复制。

相关内容