remove dir binnen subdirs

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Vincent Veeger
  • Registratie: December 2005
  • Laatst online: 01-10 23:05
Ls,

ik heb een directory structuur zoals:

F:\TEMP\DIRA
DIRB
DIRC

In DIRA, DIRB en DIRC staat een directory SAMPLE
Ik zoek een manier (CMD-command of utlity) die mij in staat stelt met 1 commando alle SAMPLE-directories incl. de files die hierin zitten te verwijderen zonder de namen DIRA, DIRB en DIRC te hoeven vermelden.
Ik zit er al een tijdje op te puzzelen maar heb de oplossing nog niet gevonden, iemand een idee?

Acties:
  • 0 Henk 'm!

  • Frostbite
  • Registratie: Juni 2001
  • Laatst online: 27-08 00:03

Frostbite

🤦🏻‍♂️

Verkenner -> rechtsboven zoeken "SAMPLE" en dan laten zoeken.

Als je dan alle 'samples' ziet gewoon alles selecter (control+A) en dan Delete.

Afbeeldingslocatie: https://tweakers.net/ext/f/bfsEH9aIDjGpj4vHmBnx0DTq/full.jpg

Hier heb ik het voor je getest. Eerst een paar samples aangemaakt en daarna gezocht zoals mijn omschrijving hierboven.

[ Voor 41% gewijzigd door Frostbite op 02-09-2016 15:20 ]

🎮 Steam
💻 i5 6600k | 16Gb DDR4 | 500Gb + 120Gb SSD | 2Tb HD | Zotac AMP GTX1080 | Dell S2716DG | W10Pro
📱 Samsung Galaxy S22+


Acties:
  • 0 Henk 'm!

  • Starke
  • Registratie: Juli 2009
  • Laatst online: 12:59
Powershell
code:
1
get-childitem F:\TEMP\ | foreach { Remove-Item -path "F:\TEMP\$_\SAMPLE" -Recurse -Force -EA SilentlyContinue }

Waarschuwing dit powershell commando verwijderd in F:\TEMP in alle subdirectories de "Sample" folder en inhoud daarvan.

Je kan het opslaan als *.ps1 om er een powershell script van de maken die je uit kan voeren (als administrator) om de directories te verwijderen.

[ Voor 67% gewijzigd door Starke op 02-09-2016 20:31 . Reden: edit van script gezien er met DIR (etc) gewoon subdirectories bedoeld werden ]


Acties:
  • 0 Henk 'm!

  • Vincent Veeger
  • Registratie: December 2005
  • Laatst online: 01-10 23:05
Frostbite schreef op vrijdag 02 september 2016 @ 15:17:
Verkenner -> rechtsboven zoeken "SAMPLE" en dan laten zoeken.

Als je dan alle 'samples' ziet gewoon alles selecter (control+A) en dan Delete.

[afbeelding]

Hier heb ik het voor je getest. Eerst een paar samples aangemaakt en daarna gezocht zoals mijn omschrijving hierboven.
hartelijk dank, mooie oplossing, nadeel is wel dat ik de zoekactie niet kan beperken tot directory namen zodat alle files waar "sample" in voorkomt ook gelist worden zodat ik selectief moet selecteren, maja dit scheelt me verschrikkelijk veel tijd.

Acties:
  • 0 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 21:25

DukeBox

loves wheat smoothies

Met forfiles recursive files deleten is het makkelijkste. Je kan het ook middels een for /f met een dir /a-d doen.

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • 0 Henk 'm!

  • GNID
  • Registratie: Januari 2005
  • Niet online
Ga in CMD naar de juiste directory (F:\TEMP)
Voer uit:

for /D %x in (*) DO @if exist "%x\Sample\" rd /s "%x\Sample"

Ondertiteling: Voor elke folder: als de folder Sample bestaat, verwijder deze.
(Bestanden die Sample heten worden overgeslagen)

P.S. Als je niet bij elke directory bevestiging wilt geven, wordt het RD /S /Q (quiet)

[ Voor 51% gewijzigd door GNID op 02-09-2016 19:59 ]


Acties:
  • 0 Henk 'm!

  • Vincent Veeger
  • Registratie: December 2005
  • Laatst online: 01-10 23:05
Starke schreef op vrijdag 02 september 2016 @ 16:00:
Powershell
code:
1
get-childitem F:\TEMP\ | foreach { Remove-Item -path "F:\TEMP\DIR*\SAMPLE" -Recurse -Force -EA SilentlyContinue }

Waarschuwing dit powershell commando verwijderd in F:\TEMP in alle directories die beginnen met DIR de "Sample" folder en inhoud daarvan.

Je kan het opslaan als *.ps1 om er een powershell script van de maken die je uit kan voeren (als administrator) om de directories te verwijderen.
dank, ik ken de naam van DIRA/DIRB/DIRC niet (was maar een voorbeeld) mag het ook:
"F:\TEMP\*\SAMPLE zijn?

Acties:
  • +1 Henk 'm!

  • GNID
  • Registratie: Januari 2005
  • Niet online
LET OP: Bovenstaande PowerShell commando is niet correct:
Als je 1000 folders hebt, worden er 1000 remove pogingen gedaan per folder!

Je kunt volstaan met:
code:
1
Remove-Item -Path "F:\TEMP\*\Sample" -Recurse -WhatIf


Dit is een simulatie-mode. Als blijkt dat het commando doet wat je wilt, kun je de -WhatIf parameter verwijderen..

Acties:
  • 0 Henk 'm!

  • GNID
  • Registratie: Januari 2005
  • Niet online
Vincent Veeger schreef op vrijdag 02 september 2016 @ 15:13:
Ik zit er al een tijdje op te puzzelen maar heb de oplossing nog niet gevonden, iemand een idee?
En?

Acties:
  • 0 Henk 'm!

  • Vincent Veeger
  • Registratie: December 2005
  • Laatst online: 01-10 23:05
Sorry GNID, ik heb de methode van Frostbite gebruikt, wel iets meer handwerk maar uiteindelijk het gewenste resultaat. Bedankt voor je tip!

  • GNID
  • Registratie: Januari 2005
  • Niet online
Graag gedaan en geen probleem! Maar omdat het een forum is, is terugkoppeling wel zo fijn; hebben anderen er ook nog iets aan.
Pagina: 1