Ich fand die bat-Datei von hier laufen. Ich denke, dass der Code, den die Site bietet, falsch sein muss. Kann mir jemand einen Hinweis geben? Vielen Dank.Wie DOS-Befehl in der Kette
9
A
Antwort
16
Sie können Kette Befehle in dos die & & zum Beispiel
echo hello&&echo world
7
Per Microsoft Support mit: Prüfung
Dieses Verhalten tritt auf, weil der & & Befehlsseparator führt Fehler. Wenn der Befehl links vom & & Befehl die erwarteten Ergebnisse nicht zurückgibt, werden die Befehle rechts vom & Befehl nicht ausgeführt.
Und
Wenn Sie einen einzelnen & Befehl Fehlerüberprüfung nicht durchgeführt wird und alle Befehle ausführen.
Sie können hier überprüfen:
Multiple Commands on a Single Line May Not Run When You Use the && Command Separator
Wenn die ersten Befehle fehlschlägt, wird der zweite Befehl nicht ausgeführt, so scheint es. Ich versuchte 'rmdir" C: \ Python "&& mklink/J" C: \ Python "" C: \ Python26 "' und wenn das Verzeichnis nicht zuerst existierte, würde es einen Fehler werfen und abbrechen. Ich änderte es in 'rmdir" C: \ Python "| mklink/J" C: \ Python "" C: \ Python26 "' und es funktioniert wie ich will, aber es scheint "falsch" Pipe auf diese Weise zu verwenden. Also, für Sie sieht es aus wie 'type in.txt | BatchSubstitute.bat" Text zu ersetzen "" Text zu setzen "> out.txt' für Dateien in.txt und out.txt wäre was zu verwenden? Note pipe ist '|' (pipe char) nicht 'I' (capital I char). –
@MarkRibau: Vielleicht verwenden Sie die logische oder, zum Beispiel: echo hallo || echo world'? –
@Protectorone Logisch oder funktioniert tatsächlich. Es kam mir gar nicht in den Sinn, das zu tun. Es wird jedoch ausgegeben, dass der erste Befehl fehlgeschlagen ist, während dies bei der Pipe nicht der Fall ist. Ich nehme an, es hängt in erster Linie davon ab, was die Benutzer des Skripts sehen sollen. Und sie würden es nur das erste Mal sehen. –