2017-12-07 1 views
0

Kürzlich habe ich eine kleine Batchdatei erstellt, um alle Dateien in einem bestimmten Verzeichnis aufzulisten. Wenn ich die Datei ausführe, erstellt sie erfolgreich einen Txt aller Dateien. Wenn ich es jedoch über die Eingabeaufforderung ausführe, druckt es auch File Not Found.Batch - Warum erfolgreich Anweisung Datei drucken Datei nicht gefunden?

dir ".\builds\dev-versions" /b /o:d *.jar > devFiles.txt 

Was verursacht dies?

+0

Das Startverzeichnis ist anders. Verwenden Sie IMMER VOLLSTÄNDIGE PFADE – ACatInLove

+0

Wäre es mir niemals eingefallen, den Dateipfad und den Dateinamen so zu trennen. – Squashman

+0

Es sieht so aus, als ob du 'dir 'ausführen wolltest. \ Builds \ dev-versions \ *. Jar"/b/o: d> devFiles.txt' oder ein bisschen kürzeres 'Verzeichnis" builds \ dev-versions \ *. Jar "/ b/o: d> devFiles.txt', um eine Liste aller * .jar-Dateien im Unterverzeichnis' builds \ dev-versions 'des aktuellen Verzeichnisses nach dem letzten Änderungsdatum zu erhalten. Aber du hast __DIR__ ausgeführt, um eine Liste aller Dateien im Unterverzeichnis 'builds \ dev-versions 'zu erhalten und zusätzlich eine Liste aller' * .jar' Dateien im aktuellen Verzeichnis. Die Suche nach * .jar-Dateien im aktuellen Verzeichnis schlägt fehl. Führen Sie in einem Eingabeaufforderungsfenster 'dir /?' Für Hilfe zu diesem Befehl. – Mofi

Antwort

1

Ihr dir Befehl ausführen zweimal werden sollte - einmal für jedes der Argumente ".\builds\dev-versions" und *.jar

. bedeutet „das aktuelle Verzeichnis“ so sollte es Liste sowohl die nominierten Verzeichnis, und alle der .jar Dateien im aktuellen Verzeichnis. Wenn eine der Listen leer ist, erhalten Sie den Fehler file nor found.

Da Sie uns nicht sagen, was der Code zu tun versucht, sind wir beim Vorschlagen einer Abhilfe eingeschränkt. Das Anhängen von 2>nul kann dabei helfen, den Fehlerbericht zu verwerfen.