Löschen aller Order in Ordner außer ...
Hallo,
ganz neu auf dem Gebiet bin ich ja nun nicht mehr und insofern hab ich schon einen Schnippsel .. denn dann aber gleich mit Fehler inklusive *gg*
Kann mir bitte wer sagen warum da der Ordner nicht gefunden werden kann bzw. warum der mir bei diesem Ordner die 3 schluckt, Ordner heißt nämlich Test382
Danke! | Schönes Wochenende!
lg mc-dy
ganz neu auf dem Gebiet bin ich ja nun nicht mehr und insofern hab ich schon einen Schnippsel .. denn dann aber gleich mit Fehler inklusive *gg*
C:\Dokumente und Einstellungen\admin>for /f "delims=Test003" %i in ('dir /b /ad /o-n "C:\temp\Test"') do rd /s /q "C:\temp\Test\Test%i"
C:\Dokumente und Einstellungen\admin>rd /s /q "C:\temp\Test\Test58941+6"
C:\Dokumente und Einstellungen\admin>rd /s /q "C:\temp\Test\Test4156"
C:\Dokumente und Einstellungen\admin>rd /s /q "C:\temp\Test\Test82"
Das System kann die angegebene Datei nicht finden.
C:\Dokumente und Einstellungen\admin>rd /s /q "C:\temp\Test\Test2"
C:\Dokumente und Einstellungen\admin>rd /s /q "C:\temp\Test\Test1"
Kann mir bitte wer sagen warum da der Ordner nicht gefunden werden kann bzw. warum der mir bei diesem Ordner die 3 schluckt, Ordner heißt nämlich Test382
Danke! | Schönes Wochenende!
lg mc-dy
Please also mark the comments that contributed to the solution of the article
Content-Key: 156301
Url: https://administrator.de/contentid/156301
Printed on: April 19, 2024 at 04:04 o'clock
4 Comments
Latest comment
moin,
schau dich mal um - entweder in deiner Dosbox nach for /? oder und hier nach einer sehr aktuellen Anleitung zum Thema Schleifen.
btw:
bedeutet - akzeptiere als Trennzeichen
Ist also nicht nur völliger Bullshit und weil du eben die 3 als Trennzeichen drin hast....
Gruß
schau dich mal um - entweder in deiner Dosbox nach for /? oder und hier nach einer sehr aktuellen Anleitung zum Thema Schleifen.
btw:
warum der mir bei diesem Ordner die 3 schluckt
"delims=Test003"- T
- e
- s
- t
- 0
- 3
Ist also nicht nur völliger Bullshit und weil du eben die 3 als Trennzeichen drin hast....
for /f %i in ('dir /b /ad /o-n "C:\temp\Test"') do rd /s /q "C:\temp\Test\Test%i"
Gruß
Hallo mc-doubleyou!
Das Mysterium hinsichtlich "Test382" hat T-Mo ja schon geklärt - wenn ich nun noch vermute, dass mit "Test003" jener (einzelne) Ordner gemeint ist, der nicht gelöscht werden soll, würde ich zu folgender Vorgangsweise raten:
Das "
... und falls der Ordnername nur mit "Test003" beginnen muss, einfach "
Grüße
bastla
Das Mysterium hinsichtlich "Test382" hat T-Mo ja schon geklärt - wenn ich nun noch vermute, dass mit "Test003" jener (einzelne) Ordner gemeint ist, der nicht gelöscht werden soll, würde ich zu folgender Vorgangsweise raten:
for /f "delims=" %i in ('dir /b /ad "C:\temp\Test"^|findstr /x /i /v /c:"Test003"') do @echo rd /s /q "C:\temp\Test\%i"
@echo
" nur, damit beim Testen nix Schlimmes passiert, und das "/c:
", falls Du (oder ein Leser dieses Threads) die Nummer mal für einen Ordner mit im Namen enthaltenem Leerzeichen abziehen will(st) ...... und falls der Ordnername nur mit "Test003" beginnen muss, einfach "
/b
" anstelle von "/x
" ...Grüße
bastla
Hallo mc-doubleyou!
Teile davon kennst Du ja schon, aber der Vollständigkeit halber:
Gehe die Ergebnisse (siehe nächsten Teil) zeilenweise durch und zerlege die Zeilen nicht in Einzelteile ("
Liste alle Ordner (directories, daher "
... filtere aber das Ergebnis vor der Weiterverarbeitung noch so, dass nur alle gesamten ("
und lösche die jeweiligen Ordner kommentarlos ("
Grüße
bastla
Teile davon kennst Du ja schon, aber der Vollständigkeit halber:
for /f "delims=" %i in
delims=
" legt fest, dass es kein - also auch nicht die defaultmäßigen Leerzeichen und TAB - Trennzeichen geben soll, anhand dessen die Zerlegung erfolgen könnte)('dir /b /ad "C:\temp\Test"
/ad
") von "C:\temp\Test" auf und gebe nur den Namen (nicht auch zB Datum, ...) aus, ...^|findstr /x /i /v /c:"Test003"')
/x
") Zeilen ohne Berücksichtigung von Groß/Kleinschreibung ("/i
"), welche nicht ("/v
") "Test003" lauten (mit "/c:
" wird nur für den Fall vorgesorgt, dass einmal im Suchbegriff Leerzeichen vorhanden wären), übrig bleibendo @echo rd /s /q "C:\temp\Test\%i"
/q
") samt allen enthaltenen Dateien / Unterordnern ("/s
") - da in "%i" nur der Ordnername enthalten ist, muss hier auch nochmals der Pfad "C:\temp\Test" angegeben werden.Grüße
bastla