Jump to content

Mit einer Batchdatei Verzeichnisse löschen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen

 

ich sichere mit Backup-Exec den Exchange erst mal auf eine Backup-to-Disk-Platte und dann von dort gemütlich auf Band.

 

Nun macht die Exchange aber immer neue Ordner mit der Sicherung (IMG000001). Leider überschreibt er diese Ordner nicht neu und ich kriege immer mehr Ordner auf meiner Backup-to-Disk-Platte (IMG000001,IMG000002,IMG000003,IMG000004, usw.) Ich dachte mir nun, dass ich nach der Bandsicherung den Ordner einfach löschen lasse (rd /s /q d:\exchange\IMG000001)

Da sich nun die Verzeichnissnamen ständig ändern müsste ich einen Platzhalter setzen können (z.Bsp. rd /s /q d:\exchange\IMG*). Das scheint bei Verzeichnissen aber nicht zu klappen :-(

 

Gibt es doch einen Befehl oder eine Option dafür?

 

Besten Dank für Eure Hilfe.

Link zu diesem Kommentar

Hallo Brainstorm

 

Ich kenne mich leider nicht so toll mit Batchprogrammierung aus.

 

Ich passte Deinen Vorschlag so in meine Batchdatei ein:

 

for %%i in ("IMG*") do rd /s /q d:\exchange\"%%i"

 

Dabei erhalte ich folgende Meldung:

"%%i" ist syntaktisch an dieser Stelle nicht verarbeitbar.

 

Muss ich da noch etwas anpassen?

Ist auf einer XP-Kiste... da is nix mit PowerShell :-(

Link zu diesem Kommentar

Okay, auf dein Szenario angepasst

 

Für die Kommandozeile (einfaches %):

for /d %i in ("d:\exchange\IMG*") do rd /s /q "%i"

 

Innerhalb einer Batchdatei musst du doppelt %%

for /d %%i in ("d:\exchange\IMG*") do rd /s /q "%%i"

Ist auf einer XP-Kiste... da is nix mit PowerShell :-(

 

Geht trotzdem ;)

 

Downloaddetails: Windows PowerShell 1.0 - Lokalisiertes Installationspaket für Windows XP (KB926140)

Link zu diesem Kommentar

Hallo, ich hätte auch noch die vbs Variante da...

 



sStartfolder = "D:\Verzeich\nispfad"
sSuchstring = "IMG"

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sStartfolder)
For Each oFolder In oFolder.Subfolders
If Left(oFolder.Name, Len(sSuchstring)) = sSuchstring Then
If MsgBox("Datei """ & oFolder.Name & """ wird gelöscht " _
, 1, "Bestätigung") <> 1 _
Then WScript.Quit
'Delete_folder sStartfolder, oFolder.Name
End If
Next

Sub Delete_folder(startfolder, foldername)
Set fso = CreateObject("Scripting.FileSystemObject")
Set oFolder_del = fso.GetFolder("" & startfolder & "\" & foldername &"")
oFolder_del.delete true
End Sub

[/Code]

 

Zwar ein bisschen spät dran, aber loswerden wollte ich es dann doch...

 

Gruß

 

Dirk

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...