If exist Order goto
Hi @ all
ich hab da ein Problem ich will in meiner Batch abfragen ob der Ordner XY existiert. Wenn er vorhanden ist sollte er doch zum Spring puntk gehen. macht er aber bei mir nicht was kann ich machen ??
Hier meine Batch:
@echo
cd Temp
if exist "test\*.*" goto loeschen
echo konnte nicht gelöscht werden & goto Abbruch
pause
:loeschen
del /f /s /q test
rmdir /s /q test
pause
:Abbruch
pause
exit
Antwort schreiben
Antwort 1 von Arno_Nym vom 12.06.2019, 16:14 Options
Zitat:
if exist "test\*.*"
Überleg nochmal: Wie heißt der Ordner?
Heißt der "
*.*" oder doch eher "
test" ? ;o)
Arno
Antwort 2 von nixwisser vom 12.06.2019, 16:15 Options
er heist test aber ich hab schon im internet nachgeschaubt ob es eine Lösung für mein Problem gibt und dort haben sie gemeint das ich einfach mal mit test/*.* versuchen soll aber das funktioniert auch nicht / genau wie auch test/Nul nicht funktioniert
Antwort 3 von Arno_Nym vom 12.06.2019, 16:16 Options
Hmm, übrigens:
Warum vor dem RMDIR noch ein DEL? Ist doch unnötig.
Arno
Antwort 4 von nixwisser vom 12.06.2019, 16:20 Options
ne solange noch dateien im Ordner vorhanden sind kann ich nicht das ganze verzeichniss löschen ^^ aber das war ja auch nicht mein Problem ^^ meine sorge liegt mit diesem if exist test goto loeschen gits da nicht irgendwie einen ausweg
Antwort 5 von Arno_Nym vom 12.06.2019, 16:21 Options
Unter NT/200x/XP funktioniert
if exist Verzeichnis goto ...
oder mit vollst. Pfadangabe
if exist X:\Verzeichnis\Unterverzeichnis goto ...
Mit *.* geht gar nichts und \NUL ist unnötig (war nur bei DOS/Win9x so)
Achte bei der Zeile ohne vollst. Pfad darauf, daß du auf dem richtigen Laufwerk bist.
Arno
Antwort 6 von nixwisser vom 12.06.2019, 16:22 Options
Vielleicht kleine Anmerkung könntenoch wichtig sein diese batch sollte auf eine barcode scanner funktionieren und das betriebssystem von diesem gerät ist Windows CE 4.2
Antwort 7 von Arno_Nym vom 12.06.2019, 16:24 Options
Zitat:
ne solange noch dateien im Ordner vorhanden sind kann ich nicht das ganze verzeichniss löschen
Wer hat dir das nun wieder geflüstert? Der gleiche Typ wie der mit dem "*.*" zur Verzeichnisabfrage?
rd/s/q X:\Verzeichnis
putz alles weg, was nicht gelockt ist (Dateien UND Verzeichnisse).
Arno
Antwort 8 von nixwisser vom 12.06.2019, 16:26 Options
aha kk thx für die Info werde noch in meine batch einbauen
Antwort 9 von Arno_Nym vom 12.06.2019, 16:26 Options
Ah, grad erst gelesen: Windows CE 4.2
Da bin ich mir natürlich nicht mehr ganz sicher. Ging immer von XP oder so aus.
Mal sehen, ob ich zu CE was finde...
Arno
Antwort 10 von Arno_Nym vom 12.06.2019, 17:31 Options
Also in der CE 4.2 Dokumentation ist der RMDIR bzw. RD Befehl genauso beschrieben wie bei WinXP (sollte mit dem Schalter /s also inclusive Unterverzeichnissen/Dateien alles löschen, Schalter /q verhindert die Abfragen).
Der IF EXIST Befehl sollte eigentlich auch funktionieren. Im Zweifelsfall die Variante mit dem NUL probieren (die funktionierte früher bei DOS/Win9x und in XP immer noch).
if exist Verzeichnis\nul
Ob das bei CE nun genauso geht, kann ich in Ermangelung einer Testmöglichkeit nicht sagen.
Warum willst du eigentlich vorher abfragen, ob der Ordner existiert?
Lösch doch einfach "drauflos". Wenn er nicht da ist, dann passiertt ja nix weiter (außer einer Meldungszeile "...kann nicht finden..."). Stört ja keinen.
Arno
Antwort 11 von nixwisser vom 14.06.2019, 14:08 Options
erstmal Thx für deine Hilfe :P
Ich habe halt Ziele von meinem Chef bekommen und die muss ich halt einhalten in dem ich halt mi if abfragen muss ob der ordner existiert