Skript zum Ordnerinhalt löschen

Helveticus

Member
Themenstarter
Registriert
29 Feb. 2008
Beiträge
744
Hallo

Ich möchte nur ganz kurz stören, sollte keine grosse Sache sein. Und zwar brauche ich ein batch Skript mit dem man den Inhalt eines bestimmten Ordners komplett löschen kann. Es handelt sich dabei um ziemlich grosse Dateien, die gelöscht werden sollen. Der Ordner liegt auf einem NAS, kann also z.B. durch \\192.168.1.2\Backups\Backup Server\Automatisch angesprochen werden. Der Inhalt von "Automatisch" soll gelöscht werden.

Weiss da jemand was?
 
del /?

L”scht eine oder mehrere Dateien.

DEL [/P] [/F] [/S] [/Q] [/A[[:]Attribute]] Namen
ERASE [/P] [/F] [/S] [/Q] [/A[[:]Attribute]] Namen

Namen Gibt eine Liste von Dateien oder Verzeichnissen an.
Platzhalter k”nnen verwendet werden, um mehrere Dateien zu
l”schen. Wird ein Verzeichnis angegeben, werden alle Dateien
in diesem Verzeichnis gel”scht.
/P Fordert Sie vor dem L”schen jeder Datei zur Best„tigung auf.
/F Erzwingt das L”schen schreibgesch�tzter Dateien.
/S L”scht alle Dateien in allen Unterverzeichnissen.
/Q Keine R�ckfrage bei Verwendung globaler Platzhalter.
/A W„hlt die zu l”schenden Dateien nach dem Attribut aus.
Attribute R Schreibgesch�tzte Dateien S Systemdateien
H Versteckte Dateien A Zu archivierende Dateien
I Nicht indizierte Dateien L Analysepunkte
- vorangestellt kehrt die Bedeutung um.

Wenn die Befehlserweiterungen aktiviert sind, werden DEL und ERASE
folgendermaáen ver„ndert:

Die Anzeigesemantik fuer die /S-Option ist umgekehrt, so dass nur Dateien
angezeigt werden, die gel”scht wurden und nicht solche, die nicht
gefunden wurden.
Das Ganze noch in eine Datei mit passender Endung und fertsch - oder nicht ?
Hilfreich wären auch ein paar Details: Windows Version, wo soll die Datei liegen, haben die betreffenden Dateien besondere Eigenschaften, etc..
 
Hier haste das Script, kannste dann als .bat speichern

set deldir=\\192.168.1.2\Backups\Backup Server\Automatisch
for /F "Tokens=*" %%i IN ('Dir /AD /B "%DELDIR%"') DO RD /Q /S "%DELDIR%\%%i"
del /F /S /Q "%DELDIR%\*.*"
 
Vielen Dank.

Hilfreich wären auch ein paar Details: Windows Version, wo soll die Datei liegen, haben die betreffenden Dateien besondere Eigenschaften, etc..

Das löschen sollte automatisch geschehen, also ich werde die .bat Datei mit dem Taskplaner planen. Es handelt sich um Windows Server 2003. Die Datei soll auf C liegen. Bei den betreffenden Dateien handelt es sich um Backup Dateien von Acronis, also ziemlich Grosse, bis zu 10GB.
 
set deldir=\\192.168.1.2\Backups\Backup Server\Automatisch
for /F "Tokens=*" %%i IN ('Dir /AD /B "%DELDIR%"') DO RD /Q /S "%DELDIR%\%%i"
del /F /S /Q "%DELDIR%\*.*"

Wie kann ich da mehrere Ordner angeben? Also z.b. \\192.168.1.2\Backups\Backup Server\Automatisch, \\192.168.1.2\Backups\Backup Workstation\ und \\192.168.1.2\Backups\Backup xxy\

Ich muss zudem noch einen Benutzernamen und Passwort spezifizieren um auf das NAS zugreifen zu können. Wo trage ich das im obigen statement ein?
 
Für Problem Nr.1 könntest du einfach den Block nochmal komplett unten dran setzen und deldir durch deldir2 o. ä. ersetzen.
Für Problem Nr.2 könntest du es per "net use" erstmal "lokal" einbinden, und dann diesen Pfad als deldir setzen:
c:\>net use /?
The syntax of this command is:

NET USE
[devicename | *] [\\computername\sharename[\volume] [password | *]]
[/USER:[domainname\]username]
[/USER:[dotted domain name\]username]
[/USER:[username@dotted domain name]
[/SMARTCARD]
[/SAVECRED]
[[/DELETE] | [/PERSISTENT:{YES | NO}]]

NET USE {devicename | *} [password | *] /HOME

NET USE [/PERSISTENT:{YES | NO}]
 
Zuletzt bearbeitet:
Würde folgendes Skript auch funktionieren?

echo off
net use z: "\\192.168.1.2\Backups\Backup Server" KENNWORT /user:BENUTZER
del /q /f z:\*.*
net use z: /delete

Wie kann ich da dann das Laufwerk wieder "abbinden", also so dass es nicht mehr eingebunden ist?
 
Zuletzt bearbeitet:
Würde folgendes Skript auch funktionieren?

Wie kann ich da dann das Laufwerk wieder "abbinden", also so dass es nicht mehr eingebunden ist?

Ich denke schon, teste es doch einfach einzeln : erstelle einen Ordner fülle ihn mit vergleichbarem inhalt, und dann Teste die "del" - Funktionalität. Genauso machst du es mit dem net - use Teil. Wenn Beides wie gewünscht funktioniert, schmeiß beides zusammen in eine Datei.
Laut MS (WinXp) sollte das Lösen der Verbindung mit /delete so funktionieren, wie du es gemacht hast:
To disconnect from the \\Financial\Public directory, type:

net use f: \\financial\public /delete
Nach dem nächsten Neustart sollte die Verbindung aber auf jeden Fall weg sein (sofern nicht persistent gemacht)
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben