Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[batch] for %%a in (*.tmp) do del %%a

Kuhlie
6 antwoorden
  • Ik vraag me momenteel het volgende af:

    wat is het verschil tussen

    for %%a in (*.tmp) do del %%a
    en
    del *.tmp

    Ik zie namelijk niet echt het voordeel van het for %%a ……….. commando en hoop dat iemand me hier meer informatie over wilt geven.

    bedankt
  • Weet niet helemaal zeker; maar met de tweede code kan je een foutmelding krijgen "bestand niet gevonden" als er geen .tmp in je dir staan. Met de eerste methode check je eerst of er wel .tmp bestanden zijn, dus zal je die foutmelding (volgens mij dan :P) niet krijgen.
  • Het is inderdaad een verschil dat "del *.tmp" een foutmelding geeft indien er geen bestanden gevonden worden om te worden verwijderd. Ook krijg je foutmeldingen indien een bestand als ReadOnly is aangemerkt of indien je niet genoeg rechten hebt om het bestand te verwijderen.

    In het andere geval krijg je geen foutmelding indien er geen bestanden gevonden worden. Alleen die "access denied" fout blijf je behouden.

    In het algemeen is "del *.tmp" ook veel sneller. Mogelijk is die "for" methode bedacht door iemand die niet wist dat del ook wildcards aankan. De "for" methode is overigens wel handig voor andere programma's die geen wildcards aankunnen. Iets als "notepad *.tmp" zal nooit werken maar "for %%f in (*.tmp) do notepad %%f" zal ieder bestand een voor een openen in Notepad.
  • Bedankt 8)

    kan ik weer een mooi batchbestand maken

    groet,

    tom
  • [quote:b55d5bbed4="tomschout"]Ik vraag me momenteel het volgende af:

    wat is het verschil tussen

    for %%a in (*.tmp) do del %%a
    en
    del *.tmp

    Ik zie namelijk niet echt het voordeel van het for %%a ……….. commando en hoop dat iemand me hier meer informatie over wilt geven.
    [/quote:b55d5bbed4]
    Dat hangt van je doelstelling af.

    De eerste regel zegt:
    "Zoek alle *.tmp-bestanden en voer voor elk gevonden .tmp-bestand de volgende actie uit. In dit geval is dat een simpele opdracht die het bestand wist. Maar dit had net zo goed een nog uitgebreidere actie kunnen zijn"

    De tweede regel zegt expliciet:
    "Verwijder alle bestanden die eindigen op .tmp"
  • bedankt 3lit3 h4xor :)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.