[BATCH] Pfad löschen, Ausnahme einstellen

Fengar

South Park - Fan
ID: 111829
L
23 April 2006
547
20
Hallo,

ich möchte ein Pfad mit dem Befehl
PHP:
RD /S /Q "C:\Dokumente und Einstellungen\quasi\Cookies"
löschen, aber dabei die "index.dat" ausschließen.

Wie kann ich das realisieren?

Gruß,
Fengar
 
Also alles ausser die eine Datei.
"Pfad löschen" heisst aber, daß nichts mehr übrig bleibt ;)

Alternativ könntest du die Datei nach temp kopieren, nach dem löschen des Pfades das Verzeichnis neu erstellen und die Datei dahin zurück verschieben.

RD lässt aber imho keine Ausnahmen zu.

Gruß Aru
 
Mhh... gibt es da noch irgendeine andere Möglichkeit?

Weil die Datei verschieben und zurückkopieren geht auch nicht, da der Explorer immer auf die Datei zugreifen tut.
 
Hallo,

hab mal kurz ein Script erstellt, damit werden alle Dateien bis auf die index.dat gelöscht:

Code:
@echo off
REM Verzeichnis, dessen Dateien geloescht werden sollen
SET DELPATH="C:\Dokumente und Einstellungen\quasi\Cookies"
 
REM Zwischendatei, die zu loeschende Dateien enthaelt
SET DELFILE=C:\Temp\del.txt
 
REM auszulassende Datei
SET SKIPFILE='index.dat'
 
dir %DELPATH% /B > %DELFILE%
 
REM alles außer index.dat löschen
FOR /F %%a IN (%DELFILE%) DO IF NOT '%%a' == %SKIPFILE% del %DELPATH%%%a

Geht sicher auch einfacher und eleganter, aber hab noch keine Batchdateien für Windows erstellt.
 
Wenn der Explorer Zugriff hat, kannst du sie auch nicht ohne weiteres löschen ;)

Darum such ich ja auch einen Weg, die Datei nicht zu löschen ;)

Hallo,

hab mal kurz ein Script erstellt, damit werden alle Dateien bis auf die index.dat gelöscht:

Geht sicher auch einfacher und eleganter, aber hab noch keine Batchdateien für Windows erstellt.

Ich danke dir!
Hat alles funktioniert, ausser dass ich die del.txt manuel erstellen musste und noch einen Backslash hinter den Delpath schreiben musste. 8)
 
Ich habe ein ganz ähnliches Problem. Möchte aber neben allen Datein auch alle Ordner löschen. Außerdem möchte ich 2 Ordner nicht löschen.

Wie funktioniert das?
Code:
Das ist mein (kläglicher) Versuch:
@echo off
REM Verzeichnis, dessen Dateien geloescht werden sollen(relativ zum Ort der Batch) 
SET DELPATH="Loe" 

REM Zwischendatei, die zu loeschende Dateien enthaelt 
SET DELFILE=del.txt 

REM auszulassende Ordner 
SET SKIPFILE='bleib1'
SET SKIPFILE2='bleib2'

dir %DELPATH% /B > %DELFILE%

REM alles außer bleib1-Ordner & bleib2-Ordner löschen 
FOR /F %%a IN (%DELFILE%) DO IF NOT '%%a' == %SKIPFILE% %SKIPFILE% del %DELPATH%%%a

REM Die Hilfsdatei del.txt wieder löschen
del /q del.txt
 
Batch

Hallo

Ich frage mich hier, warum nutzt unter win keiner Perl oder Python für sowas. Ist doch allemal besser als php oder basic, wie in den Beispielen hier im thread. Und da unter win eben nichts adäquates zur bash zur Verfügung steht, blieben doch in erster Linie Python und Perl übrig, damit sollte man sowas auch schön lösen können.
 
batch

Hallo


@Arusiak
Wer sagt das denn?

Also basic = batch kannst su ja wohl nciht mit der bash gleichsetzen. Ähnliches gilt für die Jommandozeile in win7. die können der bash nciht das Wasser reichen.

Und ob es mit Boardmtteln (basic, etc) geht, scheint j von den Aussagen, der bisherigen Lösungen nciht zu Gehen, habe ich jedenfalls aus den Antworten herausgelesen.

Php-Code deshalb
ch möchte ein Pfad mit dem Befehl
PHP-Code:
1:

RD /S /Q "C:\Dokumente und Einstellungen\quasi\Cookies"
löschen, aber dabei die "index.dat" ausschließen.


@thehacker
Was hast du gegen PHP?

Na ja, das ist ja wohl so eine Sache, selbst unter Informatikern gibt da ja die no go php Fraktion, die auf die php nur müde belächelt, diplomatisch ausgedrückt.
 
Das liegt aber an der Forensoftware, dass da PHP-Code steht… mit PHP hat der Codeschnipsel nun mal gar nichts zu tun Oo

Na ja, das ist ja wohl so eine Sache, selbst unter Informatikern gibt da ja die no go php Fraktion, die auf die php nur müde belächelt, diplomatisch ausgedrückt.
Es gibt auch genug Informatiker, die Java belächeln weil es so langsam sei oder die seit Jahren vorhersagen, dass Javascript zu schlecht sei um für irgendwelche professionellen Zwecke eingesetzt zu werden. Ich würde mal sagen, in allen drei Fällen wurden diese – sich so elitär fühlenden Besserwisser – inzwischen von der Realität eingeholt.
Die Wahl der Programmiersprache ist doch fast egal, solange sie dem Zweck angemessen ist und der Programmierer damit umgehen kann und gängige Standards einhält. Dann ist eine Web-App auf Javascript-Basis mit PHP-Backend nicht automatisch besser oder schlechter als ein Java Client-Server-System oder dasselbe in C zusammengeklöppelt.