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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 145742
Url: https://administrator.de/contentid/145742
Ausgedruckt am: 15.11.2024 um 19:11 Uhr
2 Kommentare
Neuester Kommentar
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.
Das ist eine Demo, erkennbar am Echo vor dem rd.
edit: und das was fürs loginscript
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
Gruß
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
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
Gruß
@Timo
Nur als Anmerkung: "$" sollte in diesem Fall (es wird ja kein "
Ein "2>nul" (und ev ein "/S") für den "
Grüße
bastla
P.S.: Deine Setzung der Anführungszeichen ist mal erfrischend anders ..
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 ..