0
試圖要通過列表(list.txt
)這個批處理文件循環使用xml.exe
可以在這裏報到了文件中的號碼: http://xmlstar.sourceforge.net/窗戶一批循環沒有完成
文件:
@echo off
SET USER_NAME=registereduser
SET PASSWORD=secret
SET LIST=list.txt
SETLOCAL EnableDelayedExpansion EnableExtensions
net use * /del /yes > null
FOR /F %%A in ('TYPE "%LIST%"') do (
NET USE * \\%%A\c$ /user:%USER_NAME% %PASSWORD% > null
SET DATA=\\%%A\c$\directory here\file.xml
)
SET A_NUM=
FOR /F %%I IN ('bin\xml sel -t -v "//Editable[@name='MachineID.SerialNumber']/@default" "%DATA%"') DO (SET A_NUM=%%I)
IF "%A_NUM%" == "" (
ECHO ********************************************************
ECHO *** ERROR : CAN'T CONNECT ***
ECHO ********************************************************
GOTO END
) ELSE (
ECHO A NUMBER FOUND : %A_NUM%
ECHO.
)
結果:
A NUMBER FOUND : 5300
預期結果:
A NUMBER FOUND : 5300 A NUMBER FOUND : 4100 A NUMBER FOUND : 2600
我看到它映射驅動器,但它不會在所有機器上運行腳本。
---編輯---
這是嵌套循環?
@echo off
SET USER_NAME=registereduser
SET PASSWORD=secret
SET LIST=list.txt
SETLOCAL EnableDelayedExpansion EnableExtensions
net use * /del /yes > null
FOR /F %%A in ('TYPE "%LIST%"') do (
NET USE * \\%%A\c$ /user:%USER_NAME% %PASSWORD% > null
SET DATA=\\%%A\c$\directory here\file.xml
SET A_NUM=
FOR /F %%I IN ('bin\xml sel -t -v "//Editable[@name='MachineID.SerialNumber']/@default" "%DATA%"') DO (SET A_NUM=%%I)
IF "%A_NUM%" == "" (
ECHO ********************************************************
ECHO *** ERROR : CAN'T CONNECT ***
ECHO ********************************************************
GOTO END
) ELSE (
ECHO A NUMBER FOUND : %A_NUM%
ECHO.
)
)
錯誤:
> .\anumber2.bat failed to load external entity "" ******************************************************** *** ERROR : CAN'T CONNECT *** ******************************************************** The system cannot find the batch label specified - END failed to load external entity "" ******************************************************** *** ERROR : CAN'T CONNECT *** ********************************************************
您需要嵌套你的命令。 – Squashman
編輯帖子。看起來有點進一步,但是現在抱怨什麼? –
您位於代碼塊內,因此您需要對所有環境變量使用延遲擴展。例如:%DATA%到!DATA! – Squashman