Supportnet Computer
Planet of Tech

Supportnet / Forum / BS-Sonstige

Del Befehl





Frage

Hallo Ihr Dossler im weiten WWW Land, folgendes Problem: Ich kopiere mit Xcopy und den dazugehörigen Schaltern aus einem Verzeichnis der Festplatte Dateien auf ein Wechselmedium. Funktioniert ohne Probleme. Nun möchte ich die Dateien, die ja noch immer auf meiner Fetsplatte sitzen löschen. Auch kein Problem, aber ich möchte das Löschen auch selbsttätig ausführen. Da meine Batch nachts laufen soll und ich nicht jedes mal den Del Befehl mit Y bestätigen kann. Wer weis Rat?? Michael

Antwort 1 von meyer1

Darf das Verzeichnis auf der Platte gelöscht werden?
Wenn ja, Beispiel:

Copy D:\Ordner\*.* E:\Ordner
RD /S /Q "D:\Ordner"
Mkdir D:\Ordner
Exit


Antwort 2 von Lutz1965

Hallo Michael

den Befehl den suchst, müßte "choice" sein

Schaue im link, weiter unten auf der Seite...

http://www.free.pages.at/baermaus/computer/dos.html

Gruss

Lutz

Antwort 3 von chucky

@Lutz1965,

mit choice hat man nur die Qual der Wahl, und der User muss da was machen (dient ja zur Abfrage).
Beispiel:

choice Datei löschen?/tn,99
if errorlevel 2 goto eingabe
del c:\test\xy
goto ende

:eingabe
echo Die Datei wurde nicht gelöscht!!
echo Glueck gehabt!!
goto ende

:ende


@ mibri,

Für eine Batch-Datei kann man den Deltree-Befehl nehmen- wichtig ist aber, der Befehl muss vorhanden sein und den Pfad zeigen.

c:\windows\command\deltree /y x:\test
                              X=Laufwerk,Pfad


Wenn man noch den Pfad zum Befehl mit Path zeigt, ist die Pfadangabe zum Befehl nicht nötig.

Chucky




Antwort 4 von manei

Hallo,

wenn Du genau die Dateien, die Du in ein anderes Verzeichnis kopierst auf dem Quellverzeichnis löschen willst, ist es doch am einfachsten, diese Dateien mit "move" zu verschieben, dann sind sie im Quellverzeichnis auch nicht mehr vorhanden.

Du kannst dies mit z.B.

move /y C:\Verzeichnispfad\Ordnerx\*.* D:\Verzeichnispfad\Ordnery>nul

ganz einfach erledigen.

Ansonsten mußt Du, wenn Du das mit xcopy und anschließendem Löschen in einer Batch erledigen willst, das mit

start /w xcopy A\*.* B
deltree /y A\*.*

erledigen. (Mit A und B ist der gesamte Verzeichnispfad+Ordner gemeint)

Da in einer Batch normal nur der Befehl aufgerufen wird und ohne Abwarten der Ausführung dieses Befehls zur nächsten Zeile gesprungen wird, ist Dein Verzeichnis gelöscht, bevor es kopiert ist, denn sowohl del als auch deltree arbeiten schneller als xcopy.

Dafür mußt Du die Zeile von xcopy mit start /w(ait) aufrufen, damit weis der Batchinterpreter, daß hier gewartet werden muß, bis der xcopx-Befehl abgearbeitet ist.

MfG maneich



Antwort 5 von manei

Hallo,

noch etwas.

Du kannst natürlich auch mit dem del-Befehl arbeiten. Bei z.B.

del A\*.*>nul oder
echo j|del A\*.*

entfällt die Abfrage, sie wird sozusagen ins Nichts übertragen bzw. mit der Pipe übergeben.

MfG maneich

Antwort 6 von Traumtaenzer

Paar kleine Korrekturen:
> "Da in einer Batch normal nur der Befehl aufgerufen wird und ohne Abwarten der Ausführung dieses Befehls zur nächsten Zeile gesprungen wird, ..."
Nee nee, dat war noch nie so. Die Batch wartet schön brav bis zum Ende des vorherigen xcopy-Befehls.

> "Bei z.B. del A\*.*>nul ... entfällt die Abfrage, sie wird sozusagen ins Nichts übertragen ..."
Könnte ein kleiner Reinfall werden, denn die Abfrage entfällt dabei natürlich nicht. Sie wird durch die Umleitung zum nul-device nur nicht angezeigt. Die Batch würde einfach ohne jede Meldung stehenbleiben. Das mit der Übergabe von "j" funzt aber.

Auch wenn man viel weiß, sollte man doch immer testen, was man vorschlägt. Sonst verwirrt man am Ende den Hilfesuchenden eher ;-)

mfg, Traumtänzer

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: