Thanks-and-Goodbye Geschrieben 30. April 2012 Geschrieben 30. April 2012 Moin, ich habe auf einem Win7 64 System mit Robocopy den Benutzterordner samt allen Unterordnern auf eine USB Festplatte kopiert. Allerdings ohne den Schalter /XJ, so dass Robocopy die junction points ignoriert hat und Application Data in einer Endlosschleife kopiert hat. Ergebnis: der Backupordner lässt sich nicht löschen, ausser man klickert sich durch ca. 35 Ordner und Unterordner und kürzt in jedem Ordner den Ordnernamen Application Data auf einen einstelligen Ordnernamen. Bei einigen angelegten Usern und der Unterscheidung zwischen dem Ast \benutzer\appdata\ und benutzer\local\appdata kann das Abendfüllend werden... Hat irgendwer ein Tool zur Hand, was sich entweder nicht um zu tiefe Ordnerverschachtelungen schert und diese "hart" löschen kannoder automatisch rekursiv Ordnernamen kürzen kann? Danke und Grüsse CW Zitieren
allesweg Geschrieben 30. April 2012 Geschrieben 30. April 2012 Hoi Chief, nicht @home, aber auf dem Firmenrechner schlummert ein entsprechendes Java-Progrämmchen --> bastle ich am Mittwoch für dich zusammen... Zitieren
Hunduster Geschrieben 30. April 2012 Geschrieben 30. April 2012 Das Ganze sollte auch über ein VB Script möglich sein. Bei mir funktioniert es zumindest. Set fs = CreateObject("Scripting.filesystemobject") Set wshshell = CreateObject("WScript.Shell") On Error Resume Next Set Von = fs.GetFolder("%ORDNERPFAD lokal oder UNC%") 'Verzeichnisse löschen For Each subfolder In Von.SubFolders subfolder.delete True Next 'Dateien aus Root Verzeichnis löschen For Each file In von.Files file.delete True Next Zitieren
Nikomania Geschrieben 30. April 2012 Geschrieben 30. April 2012 Hi Chief, mach das Ganze doch ebenfalls mit Robocopy. Leg einfach einen leeren Ordner an und baue dir ein kleines Robocopyscript welches beide Ordner vergleicht und dein Backup mit deinen neuen Ordner abgleicht - somit leert. Beste Grüße Zitieren
Thanks-and-Goodbye Geschrieben 1. Mai 2012 Autor Geschrieben 1. Mai 2012 @ Hunduster: danke für die Idee, das Script läuft mit allen Ordnern, nur nicht mit Application Data und Local Settings. Daran, dass die Ordner die Attribute "system" und "hidden" haben, kanns doch nicht liegen, oder? Allerdings streikt attrib auch, wenn ich die Attribute ändern will. Zitieren
Hunduster Geschrieben 1. Mai 2012 Geschrieben 1. Mai 2012 Hmm, kann ich mir eigentlich nicht vorstellen. Versteckte Ordner werden normalerweise auch gelöscht. Im Grunde löscht das Script so ziemlich alles Wir benutzen es auf dem Fileserver für ein Austauschlaufwerk. Zitieren
MartinSt Geschrieben 1. Mai 2012 Geschrieben 1. Mai 2012 automatisch rekursiv Ordnernamen kürzen Ich habe zwar momentan kein Win7 64 mit passender Ordnerstruktur, um zu testen, aber ich würde es per TotalCommander versuchen. Zuerst per Suche alle in Frage kommenden Ordner suchen und das Suchergebnis mit "Anwenden" und "Alles markieren" an das Mehrfach-Umbenennen des TC verfüttern. Gruß Martin Zitieren
Servior Geschrieben 2. Mai 2012 Geschrieben 2. Mai 2012 1) Schon einmal mit einem Live-Linux probiert die Ordner zu entfernen? 2) Wenn ausser den Daten nichts auf der Festplatte ist: Wie wäre es die Festplatte noch einmal neu zu formatieren? Letzteres könnte ggf. auch mit wegsichern und danach zurückkopieren anderer Daten schneller sein als ewig nach einem Skript zu suchen. Zitieren
Thanks-and-Goodbye Geschrieben 2. Mai 2012 Autor Geschrieben 2. Mai 2012 1) Schon einmal mit einem Live-Linux probiert die Ordner zu entfernen?Das wäre ja einfach... Windows hat's zersemmelt, also will ich das auch mit Windows wieder richten. 2) Wenn ausser den Daten nichts auf der Festplatte ist: Wie wäre es die Festplatte noch einmal neu zu formatieren?Sind nur ca. 700 GB, die ich sichern müsste. Fällt also aus. Letzteres könnte ggf. auch mit wegsichern und danach zurückkopieren anderer Daten schneller sein als ewig nach einem Skript zu suchen.Da wäre es sogar schneller, die Ordnernamen per Hand zu kürzen. Da das aber eine stupide Beschäftigung ist und die Gefahr besteht, dass das öfter passieren könnte, suche ich halt nach einem passenden Werkzeug. Zitieren
Hunduster Geschrieben 2. Mai 2012 Geschrieben 2. Mai 2012 (bearbeitet) Hi Chief, versuch doch bitte noch einmal folgendes Script. Wenn du den root Pfad nimmst einfach die letzte Zeile löschen: Dim FSO On Error Resume Next Set FSO = CreateObject("Scripting.FileSystemObject") FSO.DeleteFolder("%PFAD%") FSO.DeleteFolder("%PFAD%") Das Script haut bei mir alles weg. Dateien, Ordner sowie alle versteckten Ordner und Dateien. Viel Erfolg! Bearbeitet 2. Mai 2012 von Hunduster Zitieren
Thanks-and-Goodbye Geschrieben 2. Mai 2012 Autor Geschrieben 2. Mai 2012 Nope. zur genaueren Erklärung: ich habe hier eine Ordnerstruktur x:\1\Users\$Username$\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\ usw... ca. 35 Ebenen tief. Und damit es richtig Spass macht, auch noch x:\1\Users\$Username$\local settings\Application Data\Application Data\Application Data\Application Data\ usw., auch ca. 35 Ordner tief. Da haut kein Script was weg, in meinen Augen ist die einzige Lösung, den Ordnernamen zu kürzen soweit es geht. Danach kann gelöscht werden. Zitieren
Hunduster Geschrieben 2. Mai 2012 Geschrieben 2. Mai 2012 Da haut kein Script was weg, in meinen Augen ist die einzige Lösung, den Ordnernamen zu kürzen soweit es geht. Danach kann gelöscht werden. Hmm, das verstehe ich nun aber nicht so recht. Es scheint doch ein Sub Folder nach dem Anderen zu sein. Welche Ordnernamen willst du denn dann kürzen? Zitieren
Thanks-and-Goodbye Geschrieben 2. Mai 2012 Autor Geschrieben 2. Mai 2012 Bei ca. 35 Verschachtelungen kommt man fein über die 256 Zeichen, die Windows für Ordnernamen und Dateinamen verwenden kann. NTFS kann mehr ab, deshalb kann man es auch wegschreiben. Wenn ich per Hand die Ordnernamen auf x:\1\Users\$Username$\A\A\A\A\A\A\A\A\A usw... kürze, dann komme ich unter die 256-Zeichen-Grenze und kann den Spass löschen. Zitieren
MartinSt Geschrieben 2. Mai 2012 Geschrieben 2. Mai 2012 Hi Chief, geht es evtl. mit robocopy und /MOVE den ganzen Spass nach nul zu kopieren? Zitieren
Thanks-and-Goodbye Geschrieben 2. Mai 2012 Autor Geschrieben 2. Mai 2012 Soweit wie ich das sehe und ausprobiert habe, kann Robocopy leider nicht das Nul-Device ansprechen. Zitieren
Hunduster Geschrieben 2. Mai 2012 Geschrieben 2. Mai 2012 Hmm danach bin ich mit meinem Latein auch am Ende. @echo off &setlocal call :loop "%~1" "%~2" goto :eof :loop pushd "%~1" for /f "delims=" %%i in ('dir /ad /b "%~1" 2^>nul') do call :loop "%%~fi" "%~2" popd rd /s /q "%~1" &&(>>"%~2" echo "%~1" wurde entfernt.) ||(>>"%~2" echo "%~1" FEHLER.) goto :eof Zitieren
Thanks-and-Goodbye Geschrieben 2. Mai 2012 Autor Geschrieben 2. Mai 2012 *hrmpf* ganz eindeutig, die Ordnerstruktur ist zu tief verschachtelt. *Grummmel* Man müsste einen Direktzugriff auf NTFS haben (kann 255 Zeichen für den Dateinamen und 32.760 Zeichen für die Pfade, wobei jeder einzelne Ordnername "nur" 255 Zeichen lang sein darf), ohne die Winapi zu bemühen, die bei 256 Zeichen insgesamt abriegelt. Jetzt frag ich mich nur, warum das OS eine derartige Ordnerstruktur anlegen kann, wenn es das eigentlich nicht kann. Zitieren
afo Geschrieben 2. Mai 2012 Geschrieben 2. Mai 2012 Ich hatte mal mit sehr langen Dateinamen und tief verschachtelten Ordnernamen zu tun, da hat es geholfen es praktisch stufenweise freizugeben und dann immer wieder tiefer gehend als Netzlaufwerk einzubinden. Sicher, dass dir nicht die Api Zugriff gewährt und nur die ganzen Shelltools kaputt sind? Ansonsten, was sagt Scandisk, wenn du es laufen lässt? Kannst du mit einem Diskeditor den Filesystemeintrag kaputt machen? Zitieren
Thanks-and-Goodbye Geschrieben 2. Mai 2012 Autor Geschrieben 2. Mai 2012 Ich hatte mal mit sehr langen Dateinamen und tief verschachtelten Ordnernamen zu tun, da hat es geholfen es praktisch stufenweise freizugeben und dann immer wieder tiefer gehend als Netzlaufwerk einzubinden.Hm, die Idee hat auch was. Ist aber ähnlich aufwendig wie mein Ordnernamenkürzen. (Zur Erklärung: ich kann den ersten "Application Data" Ordner in "A" umbenennen, dann den zweiten, dann den dritten usw... das macht Win mit.) Sicher, dass dir nicht die Api Zugriff gewährt und nur die ganzen Shelltools kaputt sind? Dann müsste ich in wenigen Wochen mein System kaputtgespielt haben. ist ein relativ frisch aufgesetztes Win7. Allerdings hatte ich derartige Ordnerstrukturen auch schon auf Arbeit auf einem 2003R2 Filer... liegt echt an Robocopy, dass das entstehen lässt. Gibt auch ein paar Threads dazu in den Technet-Foren. Ansonsten, was sagt Scandisk, wenn du es laufen lässt? Noch nicht gemacht. Kannst du mit einem Diskeditor den Filesystemeintrag kaputt machen?Kollidiert damit, dass ich ein bekennendes Weichei bin und ich erst einmal die restlichen 700 GB auf eine andere Platte schieben müsste. Zitieren
Tiro Geschrieben 3. Mai 2012 Geschrieben 3. Mai 2012 Ich kann es mangels Ordnertiefe nicht testen, aber uU funktioniert es über die Powershell die Dateien alle in einen Ordner zu schieben. get-childitem -path <Pfad> -recurse -include *.beliebige Endung | move-item -destination C:\ordner Da freut man sich doch auf Windows Server 2012, wo man die 255 Zeichenbeschränkung aufgehoben hat. ;-) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.