Attempting to have this batch file loop through a list (list.txt
) and report back a number from the file using xml.exe
available here:
http://xmlstar.sourceforge.net/
File:
@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.
)
Results:
A NUMBER FOUND : 5300
Expected results:
A NUMBER FOUND : 5300 A NUMBER FOUND : 4100 A NUMBER FOUND : 2600
I see it mapping the drives but it doesn't run the script on all the machines.
---edit---
Is this nesting the loop?
@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.
)
)
Error:
> .\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 *** ********************************************************