daniel1974
Goto Top

Ordner mit Dollarzeichen im Namen per Batch löschen

Hallo allerseits,

ich habe folgendes Problem. In einigen Benutzerprofilen befinden sich temporäre Ordner die mit einem $ beginnen. z.B. $128348372. Ziel ist es 1x pro Woche eine Batch im Benutzerprofil auszuführen damit diese Ordner gelöscht werden.

Folgende Batchdatei funktioniert bei Ordnern die nicht mit einem Dollarzeichen beginnen.

c:
cd "C:\Dokumente und Einstellungen\%username%\Anwendungsdaten"
for /d %%V in (Example0*.*) do rd %%V /s /q

Aber sobald ich Ordnernamen verwenden möchte die mit einem $ beginnen funktioniert das nicht mehr?

c:
cd "C:\Dokumente und Einstellungen\%username%\Anwendungsdaten"
for /d %%V in ($*.*) do rd %%V /s /q

Ideen Vorschläge?

Danke

Viele Grüße,
Daniel

Content-ID: 145742

Url: https://administrator.de/forum/ordner-mit-dollarzeichen-im-namen-per-batch-loeschen-145742.html

Ausgedruckt am: 23.12.2024 um 12:12 Uhr

60730
60730 27.06.2010 um 13:37:44 Uhr
Goto Top
moin,

das $ ist ein "Sonder"zeichen, das mußt du entweder maskieren, oder anders lösen.
In dem Fall würde ich es nicht maskieren, sondern gezielter vorgehen.

for /f "tokens=1,* delims=" %%a in ('"dir %appdata%\$*.* /AD /B /S"') do @echo rd /S /Q "%appdata%\%%a"  

Das ist eine Demo, erkennbar am Echo vor dem rd.

edit: und das was fürs loginscript
@for /f "tokens=1,* delims=" %%a in ('"dir %appdata%\$*.* /AD /B /S"') do @rd /S /Q "%appdata%\%%a">nul  
edit²
Und weil sich Bastla das /S beim Dir gewünscht hat und ich Ihm das nicht abschlagen möchte, gibts das zur Feier des Tages dazu.
(der mögliche Bock lag aber woanders....)
Da vorher via dir /b von "irgendwoher" innerhalb %appdata% nach den Ordnern gesucht wurde - hab ich dem rd nun den ganzen Pfad mitgegeben, jetzt klappt das auch - obwohl immer noch ungetestet.

@ Bastla - bei dem Wetter kann man jede Erfrischung gut gebrauchen face-wink
Gruß
bastla
bastla 27.06.2010 um 19:01:03 Uhr
Goto Top
@Timo
Nur als Anmerkung: "$" sollte in diesem Fall (es wird ja kein "findstr" verwendet) keine Rolle spielen; es wird eher daran liegen, dass die entsprechenden Ordner zumindest "versteckt" sind - anyhow: Mit dem "dir /AD" wird das ganz nebenbei erledigt ...
Ein "2>nul" (und ev ein "/S") für den "dir"-Befehl und die Verwendung von Anführungszeichen um "%%a" würden sich noch anbieten (sicher ist sicher)...

Grüße
bastla

P.S.: Deine Setzung der Anführungszeichen ist mal erfrischend anders .. face-wink