【发布时间】:2014-09-04 14:26:17
【问题描述】:
我正在编写我认为是一个简单的批处理,它将通过“FOR /F”循环通过一个 .txt 输入文件,以检查多个 PC 的 3 个文件位置,这将确定操作系统或应用程序版本,设置几个变量然后重命名一个文件并在它的位置复制一个新文件..但我无法让它工作。 批处理失败,此时 ) 出乎意料
任何帮助将不胜感激。 这是批处理内容
CD /D "C:\Win32app\Scripts\SEPXML"
FOR /f "Tokens=1" %%a IN (List.txt) DO (
Echo %%a
If exist "\\%%a\c$\Documents and Settings\All Users\Application Data\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Config\SyLink.xml" (GoTo :Win2k3) else (GoTo :Next1)
:Next1
If exist "\\%%a\c$\Win32app\Symantec\SEPP\SyLink.xml" (GoTo :x86Serv) else (GoTo :Next2)
:Next2
If exist "\\%%a\c$\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Config\sylink.xml" (GoTo :Win2K8) else (GoTo :WriteError)
:Win2k3
Set SyLinkPath="\\%%a\c$\Documents and Settings\All Users\Application Data\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Config"
Set OSVer=Win2k3
GoTo :Run
:x86Serv
Set SyLinkPath="\\%%a\c$\Win32app\Symantec\SEPP"
Set OSVer=Win2k3OLD
GoTo :Run
:Win2K8
Set SyLinkPath="\\%%a\c$\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Config"
Set OSVer=Win2k8
GoTo Run
:Run
Ren %SyLinkPath%\SyLink.xml %SyLinkPath%\SyLink.old
Robocopy C:\Win32app\Scripts\SEPXML\SyLink %SyLinkPath% /r:0 /W:0 /copyall /Tee /Log+:C:\Win32app\Scripts\SEPXML\Log\Results.txt
GoTo End
:WriteError
Echo %%a >>C:\Win32app\Scripts\SEPXML\Log\Error-Servers.txt
:End
)
【问题讨论】:
标签: loops batch-file for-loop