Archief - BAT programma met for lus werkt niet, hulp gezocht

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

thomasbmwpower

Legacy Member
Hallo, wanneer ik het in cmd delete.bat tekst1.txt zou typen waarbij tekst1.txt een voorbeeld is, zou hij dit bestand moeten verwijderen
Dit is de code die ik tot nu toe heb

:begin
for %%f in (*.txt) DO DEL %%f
:exit

Als iemand mij kan helpen zou dit zeer geaprecieerd worden !!
mvg

Parnakra

Legacy Member
Code:
del %1
Waarom je hier in godsnaam een for-lus zou gaan gebruiken, versta ik niet. (of waarom je een batchfile zou gebruiken voor iets wat je met een standaard commando kan doen)

Of heb ik de opgave niet goed begrepen?

LarsP

Legacy Member
De code die je nu hebt, gaat niet doen wat jij verwacht en houdt helemaal geen rekening met het bestand dat je meegeeft:

"for %%f in (*.txt) DO DEL %%f"
Deze zal een lijst gaan vormen met alle bestanden in de directory waar je je op dat moment begeeft die eindigen op .txt en voor elk van deze bestanden de actie del uitvoeren.

M.a.w alle bestanden uit die directory eindigend op .txt worden verwijderd.

Waar jij naar zoekt zijn zoals hierboven aangegeven "argumenten" in batch slaat %%1 op het eerste argument, in jouw geval de meegegeven bestandsnaam.

Dus je batch-bestandje er zo uit zien:

:begin
del %%1
:end

Als je met de for-lus aast op alle bestanden die je meegeeft te verwijderen, doe je als volgt:

for %%f in (%*) do del %%f

De %* slaat op alle meegegeven argumenten (of beter, een lijst daarvan).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan