Via batch-file mappen verwijderen

Status
Niet open voor verdere reacties.

Senso

Meubilair
Lid geworden
13 jun 2016
Berichten
9.521
Besturingssysteem
W10 Pro en W11 Pro
Office versie
Office 2007 H@S en Office 2021 Prof Plus
Een aantal mappen weigeren zich te verwijderen. Wat is er fout aan de opdrachtregel?

Code:
Rd "_ Mapnaam,_B4_KENTEKEN _BJ0000_Kent_Merk_Type_Kleur_R(+S"
Rd "_ Mapnaam,_C3_INLEG    _€  0.000,00 van  B000_00-00-0000_V00"
Rd "_ Mapnaam,_C4_LPT      _00-00-0000 tm  00-00-0000_10jr_0,00%_r-o-r"
Rd "_ Mapnaam,_C5_OPH      _€  0.000,00 naar B000_00-00-0000_V00"
 
Krijg je er een foutmelding op?
 
Geen foutmeldingen. Kan ook geen fouten in de bestandsnaam ontdekken. Spaties geteld, ligt het aan het euro-teken? Zal nog eens kopiëren en plakken gebruiken.

De overeenkomst die ze hebben is Mapnaam,_??_
en dat hebben andere mappen niet.
 
Laatst bewerkt:
Ik heb de bovenste zelf aangemaakt hier en in een command scherm met diezelfde rd opdracht verwijderd, zonder probleem.
 
Mijn fout. Die eerste map (kenteken) was niet leeg. Die melding kreeg ik nu wel in het command scherm. Andere drie zijn wel leeg, nu even handmatig invoeren.

Heel vreemd als in het net zoals jij handmatig in het command scherm invoer kopiëren/plakken uit de batchfile lukt het wel.

Aanvullend: wat is dan de map (kenteken) wissen inclusief bestanden?
Gevonden /s maar dan vraagt die om bevestiging j/n hoe voorkom ik dat?
 
Laatst bewerkt:
Gebruik anders eens bijvoorbeeld dit:
Code:
rmdir /Q /S "_ Mapnaam,_B4_KENTEKEN _BJ0000_Kent_Merk_Type_Kleur_R(+S"
 
Niet te geloven. Handmatig in het command scherm werkt het goed maar via de batch-file niet. Begrijp er niets van.
Hierbij de volledige batch-file.

Code:
REM Wis overbodige mappen
Cls 
Cd\
Cd "C:\Users\Username\Desktop\2018-09-27_0Z_Naam-0000_00-B00-B0000_00-P00-P0000_L - kopie"
Rd "_ Mapnaam, AFBEELDINGE_ Avatar (computer)"
Rd "_ Mapnaam, AUTO'S OP NAAM (of gehad)"
Rd "_ Mapnaam, TR-JAAR OVERZICHTEN_B_H_D_S_L"
Rem Rd "_ Mapnaam,_B4_KENTEKEN _BJ0000_Kent_Merk_Type_Kleur_R(+S"/s/j
Rem Rd "_ Mapnaam,_C3_INLEG    _€  0.000,00 van  B000_00-00-0000_V00"
Rem Rd "_ Mapnaam,_C4_LPT      _00-00-0000 tm  00-00-0000_10jr_0,00%_r-o-r"
Rem Rd "_ Mapnaam,_C5_OPH      _€  0.000,00 naar B000_00-00-0000_V00"
rmdir /Q /S "_ Mapnaam,_B4_KENTEKEN _BJ0000_Kent_Merk_Type_Kleur_R(+S"
rmdir /Q /S "_ Mapnaam,_C3_INLEG    _€  0.000,00 van  B000_00-00-0000_V00"
rmdir /Q /S "_ Mapnaam,_C4_LPT      _00-00-0000 tm  00-00-0000_10jr_0,00%_r-o-r"
rmdir /Q /S "_ Mapnaam,_C5_OPH      _€  0.000,00 naar B000_00-00-0000_V00"
Rem de eerste drie worden zonder problemen verwijderd (avatar/auto's/jaaroverzichten).
Rem dan zijn er problemen
 
Ik denk dat een batchfile een andere default codepage gebruikt waardoor het Euro teken niet goed wordt vertaald.
Wijzig dus de codepage door de opdracht ervoor als eerste regel in je batchbestand op te nemen:
Code:
[COLOR="#FF0000"]chcp 1250[/COLOR]
REM Wis overbodige mappen
Cls 
Cd\
Cd "C:\Users\Username\Desktop\2018-09-27_0Z_Naam-0000_00-B00-B0000_00-P00-P0000_L - kopie"
Rd "_ Mapnaam, AFBEELDINGE_ Avatar (computer)"
Rd "_ Mapnaam, AUTO'S OP NAAM (of gehad)"
Rd "_ Mapnaam, TR-JAAR OVERZICHTEN_B_H_D_S_L"
Rem Rd "_ Mapnaam,_B4_KENTEKEN _BJ0000_Kent_Merk_Type_Kleur_R(+S"/s/j
Rem Rd "_ Mapnaam,_C3_INLEG    _€  0.000,00 van  B000_00-00-0000_V00"
Rem Rd "_ Mapnaam,_C4_LPT      _00-00-0000 tm  00-00-0000_10jr_0,00[COLOR="#FF0000"]%%%[/COLOR]_r-o-r"
Rem Rd "_ Mapnaam,_C5_OPH      _€  0.000,00 naar B000_00-00-0000_V00"
rmdir /Q /S "_ Mapnaam,_B4_KENTEKEN _BJ0000_Kent_Merk_Type_Kleur_R(+S"
rmdir /Q /S "_ Mapnaam,_C3_INLEG    _€  0.000,00 van  B000_00-00-0000_V00"
rmdir /Q /S "_ Mapnaam,_C4_LPT      _00-00-0000 tm  00-00-0000_10jr_0,00[COLOR="#FF0000"]%%%[/COLOR]_r-o-r"
rmdir /Q /S "_ Mapnaam,_C5_OPH      _€  0.000,00 naar B000_00-00-0000_V00"
Rem de eerste drie worden zonder problemen verwijderd (avatar/auto's/jaaroverzichten).
Rem dan zijn er problemen

Een procentteken heeft in een batchfile een speciale betekenis waardoor deze zal wegvallen in de opdracht en de folder niet gevonden kan worden.
Vervang deze daarom in de RMDIR opdracht door 3 procent tekens:
Code:
rmdir /Q /S "_ Mapnaam,_C4_LPT      _00-00-0000 tm  00-00-0000_10jr_0,00[COLOR="#FF0000"]%%%[/COLOR]_r-o-r"
 
Laatst bewerkt:
Kies "Als administrator uitvoeren" in menu bij Opdrachtprompt

Mogelijkheid 1 (eerst files verwijderen met bepaalde attributen)
Code:
DEL /F /S /Q /A:RHS "pad\naar\mapnaam\*"
RMDIR /S /Q "pad\naar\mapnaam"

Mogelijkheid 2 (tips & trics)
To delete undeletable files use the syntax: DEL "\\?\path to file"
Code:
DEL /F /S /Q "\\?\pad\naar\mapnaam\*"
RMDIR /S /Q "pad\naar\mapnaam"

Mogelijkheid 3 (bij locked files)
Ga naar Opdrachtprompt in veilige modus (pc opnieuw opstarten terwijl je Shift ingedrukt houdt)
Verwijder daar de mappen en/of bestanden

Mogelijkheid 4 (lezen en proberen)
You cannot delete a file or a folder on an NTFS file system volume

* aanvulling
Als je wilt weten welke map of welk bestand in de niet te verwijderen map dwars ligt doe dan
Code:
forfiles /P "pad\naar\mapnaam" /M * /C "cmd /c if @isdir==FALSE del @file > %UserProfile%\delete_log.txt"
forfiles /P "pad\naar\mapnaam" /M * /C "cmd /c if @isdir==TRUE rmdir @file >> %UserProfile%\delete_log.txt"
pad\naar\mapnaam is bijvoorbeeld: "C:\kenteken\doc\_ Mapnaam,_B4_KENTEKEN _BJ0000_Kent_Merk_Type_Kleur_R(+S"

Suc6.
 
Laatst bewerkt:
Dat was hem Edmoor. Nu werkt die goed. Je moet net veel ervaring hebben met die materie. De tips van Bron zijn nuttig maar in dit geval niet echt de bedoeling. Kijk, ik maak honderden mappen met submappen aan. Maar bij sommige mappen staat vast dat bepaalde submappen niet nodig zijn. Vaak handmatig verwijdert, met een batch-file scheelt dat weer tijd.

Bedankt voor het meedenken en de oplossing(en).:thumb:
 
Wel erg lang geleden dat ik die chcp opdracht heb moeten gebruiken, daarom dacht ik er dus niet direct aan.
Fijn dat daarmee je probleem is opgelost :)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan