Zitat von
DJ-SPM:
habe jetzt folgenden Code. Doch wenn ich "del" ausführe, werde ich gefragt, ob ich wirklich alle Daten löschen will.
Das kannst du umgehen, indem du das 'j' per Pipe übergibst oder aus einer eigens erstellten Datei liest:
oder
Code:
echo j>j.tmp
del *.*<j.tmp
Das solltest du allerdings nur tun, wenn du sicher bist, im richtigen Verzeichnis zu sein, sonst knirscht es u.U. gewaltig.
Code:
REM CommandInterpreter: $(COMSPEC)
rem X ist das aktuelle Laufwerk
cd\
rem Arbeitsverzeichnis: X:\
cd Compilierte Projekte\project1
rem Arbeitsverzeichnis: X:\Compilierte Projekte\project1
rem Möglicherweise muß der Pfad in Anführungszeichen gesetzt werden: cd "Compilierte Projekte\project1",
rem sonst verschluckt sich der Kommando-Interpreter am Leerzeichen.
md temp
rem Erstelle X:\Compilierte Projekte\project1\temp
move project1.exe temp
move project2.exe temp
del *.*
rem Lösche alle Dateien in X:\Compilierte Projekte\project1
rem Hier passiert schon die Rückfrage und anschließend das Löschen...
j
rem ... mit dem ein Befehl namens "j" schon nichts mehr zu tun hat. (s.o.)
move \temp\*.* .
rem Verschiebe alle Dateien aus X:\temp nach X:\Compilierte Projekte\project1.
rem Hier ist der Fehler, der das Zurückschieben der geretteten Dateien verhindert, denn es müßte heißen:
rem move temp\*.* .
rd temp
Zitat von
DJ-SPM:
Dies, so dachte ich, gibt autom. ein "j" ein. Das macht er auch, löscht alle Daten, fragt aber dennoch (danach), ob ich alles löschen will. Wäre doch eh zu spät.
Das "danach" würde ich nicht unterschreiben, s.o.. Ich sehe das so, daß er ordentlich nachfragt, gegebenenfalls die Dateien löscht und danach wahrscheinlich etwas ausgibt wie "Befehl oder Datei nicht gefunden", es sei denn, du hast ein Kommando "j" zur Verfügung.
Zitat:
Und dann schiebt er die Daten nicht wieder in den Stammordner...
Das lag am führenden Backslash "\".
The problem with troubleshooting is that sometimes the trouble shoots back.