0
Der Versuch, diese Batchdatei Schleife durch eine Liste zu haben (list.txt
) und eine Nummer aus der Datei mit xml.exe
hier berichten: http://xmlstar.sourceforge.net/Windows-Batch-Schleife nicht abgeschlossen
Datei:
@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.
)
Ergebnisse :
A NUMBER FOUND : 5300
Erwartete Ergebnisse:
A NUMBER FOUND : 5300 A NUMBER FOUND : 4100 A NUMBER FOUND : 2600
Ich sehe es die Laufwerke zuordnen, aber es führt nicht das Skript auf allen Maschinen.
--- edit ---
Ist das die Schleife nisten?
@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.
)
)
Fehler:
> .\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 *** ********************************************************
Sie müssen Nest Ihre FOR Befehle. – Squashman
Editierte die Post. Sieht so aus, als wäre es ein bisschen weiter, aber worüber beschwert es sich jetzt? –
Sie befinden sich in einem Codeblock, daher müssen Sie die verzögerte Erweiterung für alle Umgebungsvariablen verwenden. Beispiel:% DATA% zu! DATA! – Squashman