bestanden zoeken & verwijderen

Windows, Android, iOS, Linux, Chrome OS, ...
Plaats reactie
Peterken
Premium Member
Premium Member
Berichten: 550
Lid geworden op: 26 nov 2004, 15:18
Locatie: Genk

Weet er iemand hoe je met een batch file naar een bepaald bestand in meerdere dirs kunt zoeken en deze verwijderen?

De bedoeling is om een bestand te verwijderen uit meerdere profielen. Ik vermoed dat het zal moeten beginnen met FOR maar verder zou ik het niet weten en google kon me ook niet wijzer maken.

Alvast bedankt voor de hulp!
P
"He who asks a question is a fool for five minutes; he who does not ask a question remains a fool forever"
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16757
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 582 keer
Bedankt: 780 keer
Provider

Ik heb dit niet uitgetest, maar in m'n hoofd zou het er zo uit kunnen zien:

Code: Selecteer alles

@echo off
cd \
dir /s filename.ext | find "Directory of" > tempfile.txt
for /f "tokens=3 delims= " %i in (tempfile.txt) do del /q %a
del /q tempfile.txt
Let wel: heel erg traag, aangezien dir /s uw hele harde schijf gaat doorzoeken.
Peterken
Premium Member
Premium Member
Berichten: 550
Lid geworden op: 26 nov 2004, 15:18
Locatie: Genk

Hey meon, ik krijg altjid bijna dezelfde output in die tempfile.txt, ongeacht waar ik naar zoek en op die locaties staan dan ook nog eens niet die bestanden. :think:
Ik heb zelfs een uniek bestand aangemaakt en ook dat geeft niet het gewenste resultaat.

Ik wil in c:\documents and settings zoeken, dus dat valt wel mee qua tijd.
Dit is hetgeen ik doe:

Code: Selecteer alles

dir c:\documents and settings /s <filenaam in 8.3 notatie> | find "Directory of" > tempfile.txt
"He who asks a question is a fool for five minutes; he who does not ask a question remains a fool forever"
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16757
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 582 keer
Bedankt: 780 keer
Provider

Ehm, wat jij schrijft kan niet volgens mij.
Je zal eerst cd Docs & sets moeten gaan en vanaf die plek dan dir /s filename.txt enz moeten doen.
Peterken
Premium Member
Premium Member
Berichten: 550
Lid geworden op: 26 nov 2004, 15:18
Locatie: Genk

ah jawel hé, je kan perfect achter het dir commando opgeven welke directory hij moet listen.

Uit de help v/h dir commando:

Code: Selecteer alles

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

  [drive:][path][filename]
              Specifies drive, directory, and/or files to list.
"He who asks a question is a fool for five minutes; he who does not ask a question remains a fool forever"
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16757
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 582 keer
Bedankt: 780 keer
Provider

Joma, gij doet "dir FILE /s FILE", dus 2x een pad opgeven...
Peterken
Premium Member
Premium Member
Berichten: 550
Lid geworden op: 26 nov 2004, 15:18
Locatie: Genk

joma nee hé, ik geef de directory mee van waaruit ik wil zoeken.
Dat werkt, probeer maar eens om bv vanuit een subdir de inhoud van de root te listen.
"He who asks a question is a fool for five minutes; he who does not ask a question remains a fool forever"
Peterken
Premium Member
Premium Member
Berichten: 550
Lid geworden op: 26 nov 2004, 15:18
Locatie: Genk

Je had idd gelijk meon. :smash2: Ik dacht in 1 commando zowel het pad waarin + het bestand mee te geven waarnaar er moet gezocht worden.
De inhoud van die tempfile bevat nu telkers per regel die 'Directory of' + de dir waarin het bestand werd gevonden.
Het wissen gebeurt nochtans niet...
"He who asks a question is a fool for five minutes; he who does not ask a question remains a fool forever"
BungaMan
Elite Poster
Elite Poster
Berichten: 1485
Lid geworden op: 16 nov 2005, 09:05

Code: Selecteer alles

for /f "tokens=3 delims= " %i in (tempfile.txt) do del /q %i
met die tokens dan steekt hem de eerste token in dezelfde variabele waar de lijn mee uit de file wordt gehaald.

Heb het niet getest maar kunt ook alles in 1 lijn proppen denk ik

Code: Selecteer alles

for /f "tokens=3 delims= " %i in (`dir /s filename.ext | find "Directory of"`) do del /q %i
Please help, looking for a way to get rich and fast
Peterken
Premium Member
Premium Member
Berichten: 550
Lid geworden op: 26 nov 2004, 15:18
Locatie: Genk

BungaMan, dat lijkt ook niet te werken.
Zou het kunnen dat het del commando misgaat omwille van de spaties in het pad?

Ik krijg volgende foutmelding: "Could Not Find C:\Documents and Settings\%a"
Wat zijn die %i en %a?

Kent er iemand een duidelijke website met de uitleg van deze meer geavanceerde batch commando's?
Simpele batchfiles lukt me nog maar zoiets als dit.... :bang:
"He who asks a question is a fool for five minutes; he who does not ask a question remains a fool forever"
Astralon
Elite Poster
Elite Poster
Berichten: 3310
Lid geworden op: 26 jul 2005, 12:17
Locatie: Lochristi
Uitgedeelde bedankjes: 196 keer
Bedankt: 125 keer

Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16757
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 582 keer
Bedankt: 780 keer
Provider

Astralon
Elite Poster
Elite Poster
Berichten: 3310
Lid geworden op: 26 jul 2005, 12:17
Locatie: Lochristi
Uitgedeelde bedankjes: 196 keer
Bedankt: 125 keer

Inderdaad, ziet er zeer goed uit. Thanks
Plaats reactie

Terug naar “Software en apps”