Windows-使用批处理文件覆盖特定文件夹中的现有批处理文件

Windows-使用批处理文件覆盖特定文件夹中的现有批处理文件,windows,batch-file,Windows,Batch File,下面的脚本我正试图从临时目录(在设置为服务器的PC上)复制一个批处理文件,并发送到联网机器上的特定文件夹。它可以复制到主机系统,但不能复制到联网的机器。注意:每个位置都有2-4台联网PC。在复制之前,我会ping每个网络计算机,并在日志中报告断开连接的情况。原木是干净的,因此机器正在连接。我认为它不是复制,因为它必须覆盖现有文件,但我使用/y强制覆盖。我还缺什么?感谢您的帮助 echo off set "REGNAME=%COMPUTERNAME:~0,12%" set "REG1NAME=%

下面的脚本我正试图从临时目录(在设置为服务器的PC上)复制一个批处理文件,并发送到联网机器上的特定文件夹。它可以复制到主机系统,但不能复制到联网的机器。注意:每个位置都有2-4台联网PC。在复制之前,我会ping每个网络计算机,并在日志中报告断开连接的情况。原木是干净的,因此机器正在连接。我认为它不是复制,因为它必须覆盖现有文件,但我使用/y强制覆盖。我还缺什么?感谢您的帮助

echo off

set "REGNAME=%COMPUTERNAME:~0,12%"
set "REG1NAME=%COMPUTERNAME:~0,11%1"
set "REG2NAME=%COMPUTERNAME:~0,11%2"
set "REG3NAME=%COMPUTERNAME:~0,11%3"
set "REG4NAME=%COMPUTERNAME:~0,11%4"

rem copy batch files in the RDS directory that redirect eClock and eClock1

rem copy the batch files temp to rds on REG1

copy /y c:\temp\eClock_Call.bat C:\RDS
copy /y c:\temp\eClock1_Call.bat C:\RDS

rem copy the batch files to REG2

copy /y c:\temp\eClock_Call.bat \\%REG2NAME%\C$\RDS
copy /y c:\temp\eClock1_Call.bat \\%REG2NAME%\C$\RDS

rem If REG3 exists, copy the batch file to REG3

ping %REG3NAME%

If %ERRORLEVEL% EQU 1 GOTO :ENDSCRIPT

copy /y c:\temp\eClock_Call.bat \\%REG3NAME%\C$\RDS
copy /y c:\temp\eClock1_Call.bat \\%REG3NAME%\C$\RDS


rem If REG4 exists, copy the batch file to REG4

ping %REG4NAME%

If %ERRORLEVEL% EQU 1 GOTO :ENDSCRIPT

copy /y c:\temp\eClock_Call.bat \\%REG4NAME%\C$\RDS
copy /y c:\temp\eClock1_Call.bat \\%REG4NAME%\C$\RDS


:ENDSCRIPT

您似乎没有执行
ping
“REG2”,如果
ping
返回“RG3”或“REG4”的errorlevel 1,则您将分支到
:endscript
而不是下一台机器。谢谢,每个位置至少有两台机器。所以我们希望它能联系起来,因为他们整天都在聊天。我将为REG2添加一个ping行。感谢您的反馈。正在查找有关为什么它可能无法将文件处理到REG2和其他文件的详细信息。
%computername%
没有空格,是吗?使用
echo on
运行脚本,查看实际执行的内容。谢谢。这帮了大忙。看来我的安全小组已经锁定了网络机器,没有告诉我们!我被拒绝访问,但当机器打开时,它可以正常复制。