Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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 kann
  • oder automatisch rekursiv Ordnernamen kürzen kann?

Danke und Grüsse

CW

Geschrieben

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

Geschrieben

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

Geschrieben

@ 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.

Geschrieben

Hmm, kann ich mir eigentlich nicht vorstellen. Versteckte Ordner werden normalerweise auch gelöscht. Im Grunde löscht das Script so ziemlich alles :D Wir benutzen es auf dem Fileserver für ein Austauschlaufwerk.

Geschrieben
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

Geschrieben

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.

Geschrieben
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.
Geschrieben (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 von Hunduster
Geschrieben

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.

Geschrieben
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?

Geschrieben

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.

Geschrieben

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

Geschrieben

*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. ;)

Geschrieben

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?

Geschrieben
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.
Geschrieben

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. ;-)

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...