Batch-Datei zum löschen von Dateien
Markus
- sonstiges
Guten Abend allesamt
Ich sitze gerade an einem Problem, wozu ich mich den lieben langen Tag schon einzulesen versuche, aber auf keine Lösung komme:
Ich möchte eine Batchdatei schreiben die mir mittels eraserd.exe die Dateien löscht. Ein einfaches DEL reicht mir nicht da ich die Daten so löschen möchte dass man sie nurnoch mittels enormen aufwand wiederherstellen möchte. Und jetzt lass ich mal die Bombe Platzen: Es geht um BitTorren-Dateien (natürlich legale, ne).
Ich habe mir die Batch so egschrieben, dass sie den Ordner Schreddern und danach den rechner ausmachen soll.
Jetzt hatte ich eben das besagte eraserd.exe-PRogram gefunden welches via cmd-Befehlen aus einer Batch-Datei angesprochen werden kann. Allerdings versagt er den Dienst sobald es ans eingemachte geht. Denn bei normalen Ordnern hapert es nicht. Ich sage jedoch:
SET DIRERASER="C:\Dokumente und Einstellungen\BENUTZER\Anwendungsdaten\uTorrent"
[...]
:ERASEIT
eraserd -folder %DIRERASER% -subfolders -passes 7
Leider sagt er dabei jedesmal: "Failed to Remove..."
Ich habe an diesem Rechner Admin-Recht eund kann den Ordner auch manuell mittels des Explorers Entfernen, doch aus einem Grund macht er es bei diesem Ordner nicht via eraserd.exe. Ich dachte anfangs es läge an dem offenen Prozess. Doch selbst wenn man den prozess orher mit Taskkill abschiesst geht e snicht.
Ich habe zudem auch im Forum dort gefragt (weil zu diesem Fehler keine ergebnisse bei google gelistet werden) doch gab es keine Antwort im spärlich besuchten Forum.
Hat jemand eine Idee?
Da ich trotz intensiver recherche auf keinen grünen zweig kam versucht eich ein Workaround dass mittels FOR den Ordner durchläuft und alle Dateien zumindestens löscht:
FOR %%a in (%DIR01%) do eraserd -file %%a -passes 7
Doch da promt er mir nur die eraserd HELP-Ausgabe. Das muss doch irgendwie möglich sein auf die eine oder andere Art und weise.
Liebe Grüsse
Markus (Heute mal ohen Nachnamen... auch wenns lächerlich ist)
Hallo Markus,
Jetzt hatte ich eben das besagte eraserd.exe-PRogram gefunden
und erzählst niemandem wo, so dass niemand Dein Problem nachvollziehen kann.
welches via cmd-Befehlen aus einer Batch-Datei angesprochen werden kann. Allerdings versagt er den Dienst sobald es ans eingemachte geht. Denn bei normalen Ordnern hapert es nicht. Ich sage jedoch:
SET DIRERASER="C:\Dokumente und Einstellungen\BENUTZER\Anwendungsdaten\uTorrent"
[...]
:ERASEIT
eraserd -folder %DIRERASER% -subfolders -passes 7
und was passiert, wenn Du den Befehl an der Kommandozeile händisch eingibst?
Leider sagt er dabei jedesmal: "Failed to Remove..."
und das interessante fehlt :-)
Da ich trotz intensiver recherche auf keinen grünen zweig kam versucht eich ein Workaround dass mittels FOR den Ordner durchläuft und alle Dateien zumindestens löscht:
FOR %%a in (%DIR01%) do eraserd -file %%a -passes 7
da fehlen Anführungszeichen, siehe zum Beispiel in diesem Archivposting.
Freundliche Grüße
Vinzenz
Hallo
Da hast du natürlich recht, das war wohl zu wenig Information: Das Programm gibt es hier. Ich kam drauf weil jemand damit seine snadboxie erfolgreich schredderte.
Er sagt bei mir eben "Failed to Remove PFADundDATEINAME" (der Pfad und der Dateiname sind richtig. er kann sie schlicht nicht entfernen und halt leider kein erwetertes Error-Handling dass man befragen könnte woran es denn liegt)
Ich habe mir mal deinen Rat zu herzen genommen mit den Anführungszeichen. Das hat wirklich Linder gebracht. Leider löscht er bei
SET DIR01="*.*"
FOR %%I IN (%DIR01%) DO eraserd -file "%%I" -passes 7
nur Dateien die tatsächlich die konstelation name.extension haben. Dateien die namen.name.name.name.extension haben ignoriert er. Ich habe mich versuch jetzt in die Wildcard einzulesen und ob es eine möglichkeit gibt ausnahmslos alle Dateien unabhängig ihrer formatierung zu selektieren, doch scheitere ich daran. Ich fand einige BErichte wie man mehrpunkt-dateinamen in einzelpunkt-dateinamen übersetzen kann. Doch keine der Lösungen war Dynamisch. Da meine Dateien aber mal 3 mal 5 mal 8 punkte im dateinamen haben kann ich dies nicht benutzen.
grüsse
Hallo
Da hast du natürlich recht, das war wohl zu wenig Information: Das Programm gibt es hier. Ich kam drauf weil jemand damit seine snadboxie erfolgreich schredderte.
danke für den Link, die Festplattenoption (Darik's Boot and Nuke, DBAN) nutze
ich schon seit Jahren für die Festplatten ausgemusterter Rechner meiner Arbeitgeber :-)
Ich habe mir mal deinen Rat zu herzen genommen mit den Anführungszeichen. Das hat wirklich Linder gebracht. Leider löscht er bei
SET DIR01="*.*"
FOR %%I IN (%DIR01%) DO eraserd -file "%%I" -passes 7
Ich fand einige BErichte wie man mehrpunkt-dateinamen in einzelpunkt-dateinamen übersetzen kann. Doch keine der Lösungen war Dynamisch. Da meine Dateien aber mal 3 mal 5 mal 8 punkte im dateinamen haben kann ich dies nicht benutzen.
Du solltest einfach nur einen Stern nehmen :-)
SET DIR01="*"
Für die Verzeichnisoption fehlt mir dir rechte Muße ...
Freundliche Grüße
Vinzenz
gudn tach!
SET DIR01="*.*"
FOR %%I IN (%DIR01%) DO eraserd -file "%%I" -passes 7Ich fand einige BErichte wie man mehrpunkt-dateinamen in einzelpunkt-dateinamen übersetzen kann. Doch keine der Lösungen war Dynamisch. Da meine Dateien aber mal 3 mal 5 mal 8 punkte im dateinamen haben kann ich dies nicht benutzen.
Du solltest einfach nur einen Stern nehmen :-)
SET DIR01="*"
wo ist da der unterschied? (klar, man koennte vermuten, dass bei *.* die dateien einen punkt haben muessen; ist aber nicht so.)
auf der sichereren seite ist man mit der verwendung von "dir":
for /f "usebackq delims=?" %i in (dir /a/b
) do echo %~fi
prost
seth