Ich habe einige Änderungen vorgenommen, ich hoffe, es würde helfen. Was ich zur Zeit habe, ist eine Batch-Datei, die ich je nach Umgebung ändern wollte:
Ich habe eine input.txt mit einer Liste meiner Servernamen, wobei diese Schleife Servernamen Zeile für Zeile aufnimmt. Gleichzeitig versuche ich, eindeutige Anmeldeinformationen im Skript zu haben. Auf diese Weise muss ich die Anmeldeinformationen nicht manuell eingeben. Hier ist mein Skript. Das Problem, vor dem ich stehe, ist, dass die Anmeldeinformationen nicht als Werte übergeben werden, wenn systeminfo.exe ausgeführt wird.
for /f "delims=" %%a in (c:\Uptime\Input.txt) do ( echo %%a set x=yellow set login=%x%%%a set pwd=%%a%x% echo %login% pwd %pwd% systeminfo /s %%a /u %login% /p %pwd% | find "System Up Time" >> c:\Uptime\A.txt pause )
Wenn ich diese Batch-Datei ausführen, erhalte ich Folgendes:
C:\Uptime>( echo Server1 set x=yellow set login=Server1 <- it should be: yellowServer1 set pwd=Server1 <- it should be: Server1yellow echo pwd <- not showing the values of variables from above, should be: yellowServer1 Server1yellow systeminfo /s Server1 /u /p | find "System Up Time" 1>>c:\Uptime\A.txt pause ) Server1 pwd ERROR: Invalid Syntax. Value expected for '/u'. Type "SYSTEMINFO /?" for usage. Press any key to continue . . .
Ich bin nicht sicher, warum es die Werte nicht aus den Variablen in der Zeile systeminfo cmd entnimmt.