Ich habe diesen Code snippet
von einem batch
Skript. Das Skript schlägt fehl mit:") war zu diesem Zeitpunkt unerwartet" - Batch-Skript
") zu diesem Zeitpunkt war unerwartet"
SETLOCAL EnableDelayedExpansion
set var="value "
echo !var!
IF "!var!"=="value " (
echo Perfect)
P. S. Ich brauche die Delayed Expansion
in meinem Skript.
Seien Sie vorsichtig bei der Ausgabe von 'wmic' zu einer Umgebungsvariablen zuweisen als wmic Ausgabe in Unicode ist (UTF-16 Little Endian). Lesen Sie die Antworten zu [So korrigieren Sie falsches Fehlverhalten beim Analysieren der Ausgabe] (http://stackoverflow.com/questions/24961755/), um zu erfahren, wie die Ausgabe von "wmic" als ANSI-Zeichenfolge abgerufen wird. – Mofi
Danke für den Rat :) Ja, ich bin auf diesem Teil vorsichtig. Da Sie sich das ausgedacht haben - gibt es irgendeine Möglichkeit, die unerwünschte Ausgabe des wmic-Befehls auf NUL umzuleiten, das heißt, ich möchte nicht, dass dasselbe in der Konsole angezeigt wird. Etwa so: für/f "skip = 1 Token = 7" %% f in ('wmic Prozess wo "name =' java.exe '" Kommandozeile holen') do (set v = %% f) In In diesem Fall, wenn es keine spawning-Instanzen von "java.exe" gibt, sehe ich eine Ausgabe in der Konsole - keine Instanz (en) verfügbar Das ist richtig, aber ich möchte nicht das gleiche in der Konsole angezeigt werden. –