Zum Inhalt springen

Rekursion beim Kopieren vom Userprofil via Robocopy


Chief Wiggum

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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