Unterscheidet sich das Dienstprogramm "find" unter Windows 7 von dem unter Windows XP?

1

Ich habe ein Batch-Skript erstellt, das unter Windows XP funktioniert, unter Windows 7 jedoch fehlerfrei ist.

Das Skript findet im Grunde heraus, was das Betriebssystem ist.

wmic os get | find "Windows XP">nul
if %ERRORLEVEL% == 0 goto winxp

wmic os get | find "Windows 7”>nul
if %ERRORLEVEL% == 0 goto win7

Das funktioniert unter Windows XP, aber nicht unter Windows 7. Windows 7 gibt den folgenden Fehler aus:

FIND: Parameter format not correct

Meine Frage lautet also: Wurde das Suchdienstprogramm geändert?

qroberts
quelle
Ich hoffe, Sie haben dies kopiert.
William Jackson
Natürlich. Ich teste gerade die unten genannte Lösung aus.
Qroberts

Antworten:

2

Ich denke, es ist das lustig aussehende doppelte Anführungszeichen.

wmic os get | find "Windows XP"> nul if% ERRORLEVEL% == 0 goto winxp

:: SMART QUOTES FTL

wmic os get | find "Windows 7"> nul if% ERRORLEVEL% == 0 goto win7

surfasb
quelle
Ja, intelligente Zitate FTL. Seltsamerweise muss ich noch einen Texteditor finden, der solche Fehler in Batchdateien hervorhebt. Auch die Powershell ISE korrigiert oder markiert solche Fehler nicht direkt. Sie werden nur bemerken, dass die Zeichenfolgen rot gefärbt sind.
Surfasb
Ich benutze Notepad ++ als Batch-IDE.
Qroberts
Ja, das wäre auch meine Wahl. Ich könnte schwören, dass es Plugins oder Skripte gibt, die direkt vor dem Speichern ausgeführt werden. Ich muss dafür googeln.
Surfasb