Schreibweise von "true" in batch?

CED999

Lieutenant
Registriert
Juni 2011
Beiträge
980
Hallo allerseits,

auf der Microsoft Seite:

http://technet.microsoft.com/de-de/library/cc753551(v=ws.10).aspx

steht im Beispiel für "forfiles" eindeutig "true" kleingeschrieben. Bei mir auf der Maschine (Win7-64-bit) hat das aber nicth funktioniert - nur "TRUE" wurde akzeptiert. Da mich das jetzt ca. 1h Zeit gekostet hat einen kleinen popligen Befehl zu debuggen und das jetzt schon das 2. Mal ist, das auf der Referenzseite angegebene Befehle nicht so funktionieren wie dokumentiert, habe ich die Frage woran liegt das? Hat das was mit extensions zu tun, oder was ist der Trick? Oder ist MS einfach zu blöd die richtige Syntax aufzuschreiben?

Grüße!
 
Fehler passieren auch einem Riesen wie Microsoft ;)
Wie auch immer, es steht nur in den Beispielen falsch. Hättest du die Referenz gelesen, hättest du gesehen, dass es Uppercase ist ;)

forfiles /? ausgeführt listet die Syntax übrigens auch korrekt ^^

edit.
Noch eine kleine Anmerkung. Für Batch vermutlich (mittlerweile) bedeutungslos, aber achte darauf, dass du auch die korrekte Seite im TechNet oder MSDN anschaust. Der Link von dir bezieht sich auf Vista und W2k8.
 
Zuletzt bearbeitet:
CED999 schrieb:
... Oder ist MS einfach zu blöd die richtige Syntax aufzuschreiben? ...
Das geht bei MS häufiger durcheinander, da die Entwickler - anders als bei Unix oder Linux - nie beachten mussten, Groß- und Kleinschreibung strikt zu beachten. Was Fritzchen nicht gelernt hat, lernt Fritz nimmermehr.
Dass die Syntaxbeschreibung nach "forfiles /?" in diesem Fall richtig ist, entschuldigt das nicht. Soooo weit dürften Vista und Win7 (=Vista/SP3) wohl nicht auseinander liegen...
 
dit.
Noch eine kleine Anmerkung. Für Batch vermutlich (mittlerweile) bedeutungslos, aber achte darauf, dass du auch die korrekte Seite im TechNet oder MSDN anschaust. Der Link von dir bezieht sich auf Vista und W2k8.

Jo ich danke Dir für den Hinweis, hat in dem Fall aber auch keinen Unterschied gemacht.

Ich habe jetzt aber gerade noch so ein echtes Problem mit der Syntax:

Code:
@echo off
forfiles /P "I:\testroot" /C "CMD /C if /i @FILE==testung.txt del /s @PATH"

funktioniert einfach nicht egal was ich probiere. Die Datei wird nicht gelöscht script produziert aber auch keinen Fehler...
 
Ohne dass ich mich tiefer in die Syntax und Deine Absichten stürze:
Willst Du am Ende ein Verzeichnis (@PATH) löschen?
Wenn ja, dann solltest Du mit RD arbeiten!
 
Wenn ja, dann solltest Du mit RD arbeiten!

Na ich das ist eigentlich nur der einfache Testcase ^^ nur das der mich schon lange aufhält. Weiß den jemand was ich schreiben müssete, wenn ich im in diesem Teil eine Bedingung überprüfen möchte, und wenn diese erfüllt ist, dann die Datei löschen lassen möchte.

"CMD /C if /i @FILE==testung.txt del /s @PATH"


die Überprüfung @FILE==testung.txt dient nur dazu die IF-Bedingung zu testen. Wenn ich weiß wie das funktioniert bekomme ich den Rest auch hin..
Ergänzung ()

Also das Licht der Weisheit habe ich doch noch gefunden, falls jemand auf der Suche ist, so gehts richtig:

forfiles /P "I:\testroot" /c "CMD /c if @file==\"test.txt\" del /s @FILE"

Das aber wirklich unglaubliche daran ist, dass MS es geschafft hat auf der Referenz-Seite 2 dicke Fehler + 1 Folgefehler einzubauen. Vor allem dass der zweite Fehler auch noch mitten in der Bedigungsprüfung der If-Anweisung sitzt (wo man eigentlich automatisch konzentriert ist). Schon grandios so eine Dokumentation.
 
Zuletzt bearbeitet:
Zurück
Oben