我创建了一个批处理脚本来查询服务器,但是当我启动它时,服务器名称将不会出现。我不知道为什么。
这是脚本:
set reg1=HKEY_LOCAL_MACHINE\SOFTWARE\VERITAS\NetBackup\CurrentVersion
FOR /F %%i in (%server%) do reg query \\%%i\%reg1%/v %valueName% |FINDSTR "Install Type" >>%LogFiel%
FOR /F "tokens=4,5* delims= " %%z in (%LogFile%) do echo The %%i %%z Master >r.txt
结果是:
%i Master
我尝试使用if else但仍然没有得到%% i这是服务器名。
嗨马克这里是剧本
set WorkingDir=D:\Patching\Uptime\Uptime
set LogFile=%WorkingDir%\Status1.log
set LogFile1=%WorkingDir%\Status2.log
set server=list.txt
set valueName="Install Type"
set reg1=HKEY_LOCAL_MACHINE\SOFTWARE\VERITAS\NetBackup\CurrentVersion notepad.exe
FOR /F %%i in (%server%) do reg query \\%%i\%reg1% /v %valueName% |FINDSTR "Install Type" >>%LogFiel%
FOR /F "tokens=4,5* delims= " %%z in (%LogFile%) do echo The %%i %%z Master >r.txt pause –
答案 0 :(得分:0)
这里有一些问题。
%server%
未在此脚本中定义。 %valueName%
未在此脚本中定义%LogFiel%
,但在下一行中引用%LogFile%
%%i
,因此不再定义它。reg query
会展开到\\servername\HKEY_LOCAL_MACHINE\SOFTWARE\VERITAS\NetBackup\CurrentVersion/v
并且在/ v 我怀疑是#4导致了最明显的问题,但是你可以发布你的其余脚本了吗?它看起来并不像是整件事。
编辑:我的意思是#4导致问题 - 忘了我在它上方添加了一行。 : - )