[win7] Mappen verwijderen met te veel submappen (loop)

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • sdk1985
  • Registratie: Januari 2005
  • Laatst online: 01:53
Ik heb een probleem veroorzaakt door Robocopy te gebruiken om de inhoud van mijn SSD te kopiëren naar een harde schijf. Het eerste probleem was dat de map zelf onzichtbaar was (maar wel bestond). Dit heb ik zelf op kunnen lossen door de flags te resetten.

Echter nu wil ik de map verwijderen en gaat het mis. De map application data zit in een eeuwige loop.

Voorbeeldje:
E:\ssd\Users\All Users\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data

Als ik de map probeer te shift deleten dan gaat hij het voorbereiden van 12.000+ bestanden verwijderen. Dus eigenlijk ben ik bang dat er nog een symbolic link naar mijn huidige, echte, appdata in zit.

Hoe ruim ik dit op???

Hostdeko webhosting: Sneller dan de concurrentie, CO2 neutraal en klantgericht.


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 00:16

Hero of Time

Moderator LNX

There is only one Legend

De 'loop' die je hebt is een symbolic link, of junction zoals ze dat bij MS noemen. Je kan met het 'mklink' commando die verwijderen met de /d parameter als 't goed is. Normaal gesproken zou je die link niet kunnen volgen, dus er is meer 'gesloopt' met het resetten van een paar flags.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • GNID
  • Registratie: Januari 2005
  • Niet online
Makkelijkste manier is om gebruik te maken van de SysInternals tool JUNCTION.
Te vinden op: https://technet.microsoft.com/en-us/sysinternals/bb896768
Met de op de pagina vermelde voorbeelden zou het toch moeten lukken ...


Als blijkt dat het barst van de symbolic links (oplepelen met junction.exe -s E:\SSD\Users), dan moet je nog maar even terugkomen. Met een paar regels script "knip" je dan alle links achter elkaar door.

Acties:
  • 0 Henk 'm!

  • sdk1985
  • Registratie: Januari 2005
  • Laatst online: 01:53
Het blijkt toch geen symbolic link te zijn helaas. (Normaal zie ik die ook met een ander icoontje omdat ik het programma Link Shell Extension gebruik):

E:\>junction -s E:\ssd\Users\

Junction v1.06 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

No matching files were found.

E:\>junction -s E:\ssd\Users

Junction v1.06 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

\\?\E:\ssd\Users\All: JUNCTION
   Substitute Name: E:\Users

E:\>junction -d E:\ssd\Users

Junction v1.06 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

Error deleting E:\ssd\Users: Access is denied.



edit:
Ik ben onderaan de directory uitgekomen:

E:\ssd\Users\ALLUSE~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\Adobe\CAMERA~1\LENSPR~1\1.0\Canon

Om dit toch te kunnen deleten heb ik met subst gewerkt. Een groot deel ben ik nu kwijt.


Met één map had ik daarna nog een probleem. Dieper dan dit kon ik niet bladeren:
E:\ssd\DOCUME~1\ALLUSE~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\APPLIC~1\Application Data

Het einde zit echter nog een stukje dieper... Ik heb toen met subst dieper kunnen bladeren, waarna ik (opnieuw met subst) per 8 heb gemount. Totaal heb ik een stuk of 10 keer een nieuwe subt moeten maken om alles weg te krijgen. Er waren dus verschrikkelijk veel submappen. Elke map had bovendien iets van 400MB aan data.

[ Voor 85% gewijzigd door sdk1985 op 05-03-2016 23:05 ]

Hostdeko webhosting: Sneller dan de concurrentie, CO2 neutraal en klantgericht.


Acties:
  • +1 Henk 'm!

  • GNID
  • Registratie: Januari 2005
  • Niet online
Okee, probleem opgelost dus, begrijp ik?

Tip: waarschijnlijk loop je hier tegen de maximale padlengte aan*
Als de bestanden/mappen toch allemaal weg mogen:
- start CMD.exe
- ga naar de juiste map (E:\SSD\Docume~1\) (Deze stap is erg belangrijk, anders hernoem je de verkeerde mappen !!!)
- commando: For /R /D %x in (*) DO ren "%x" B

Dit zorgt ervoor dat elke (sub)directory die tegen wordt gekomen naar B wordt hernoemd (dit werkt omdat in elke map maar 1 submap staat; anders moet de code licht aangepast)
Je pad wordt hierdoor een stuk korter en daardoor kun je waarschijnlijk ook zonder SUBST de "bodem" bereiken.


* Ooit bij een datamigratie bij een gemeente liepen mijn scripts voor het overzetten van de bestanden fout op een bestandsnaam dddddddddddddddddd - dit ging zo nog wel even door - dddddddddd.doc.
Ik grapte dat dit waarschijnlijk kwam omdat de ambtenaar met zijn neus op het toetsenbord in slaap was gevallen. Bij de "reconstructie" blijkt dat je dan inderdaad met je neus op de D uitkomt :-)

Acties:
  • 0 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 03-10 11:19
Wat je ook kunt doen bij deze problemen is een lege folder Mirroren met robocopy (/MIR switch) naar de folder die je weg wilt hebben.

Acties:
  • 0 Henk 'm!

  • sdk1985
  • Registratie: Januari 2005
  • Laatst online: 01:53
Probleem is inderdaad opgelost.

Toch bedankt voor beide suggesties. Mocht het ooit nog een keer voorkomen dan kan ik dat mooi proberen. "Mijn" oplossing was verre van handig.

Hostdeko webhosting: Sneller dan de concurrentie, CO2 neutraal en klantgericht.

Pagina: 1