Delen via


voor bestanden

Hiermee selecteert en voert u een opdracht uit voor een bestand of set bestanden. Deze opdracht wordt het meest gebruikt in batchbestanden.

Syntaxis

forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [{<date> | <days>}]]

Parameterwaarden

Maatstaf Beschrijving
/P-<pathname> Hiermee geeft u het pad van waaruit de zoekopdracht moet worden gestart. Standaard wordt zoeken gestart in de huidige werkmap.
/m <searchmask> Hiermee zoekt u bestanden op basis van het opgegeven zoekmasker. De standaardzoekmasker is *.
/S Hiermee geeft u de opdracht forfiles opdracht om recursief te zoeken in submappen.
/C-<command> Voert de opgegeven opdracht uit op elk bestand. Opdrachtreeksen moeten tussen dubbele aanhalingstekens worden verpakt. De standaardopdracht is "cmd /c echo @file".
/D-[{+\|-}][{<date> | <days>}] Hiermee selecteert u bestanden met een datum die het laatst is gewijzigd binnen het opgegeven tijdsbestek:
  • Selecteert bestanden met een datum die het laatst is gewijzigd later dan of gelijk aan (+) of lager dan of gelijk aan (-) de opgegeven datum, waarbij datum de notatie MM/DD/JJJJ heeft.
  • Selecteert bestanden met een laatst gewijzigde datum die later is dan of gelijk is aan (+) de huidige datum plus het aantal opgegeven dagen of eerder dan of gelijk aan (-) de huidige datum minus het aantal opgegeven dagen.
  • Geldige waarden voor dagen een willekeurig getal in het bereik van 0-32.768 bevatten. Als er geen teken is opgegeven, wordt + standaard gebruikt.
/? Geeft de Help-tekst weer in het cmd-venster.

Opmerkingen

  • De opdracht forfiles /S is vergelijkbaar met dir /S.

  • U kunt de volgende variabelen in de opdrachtreeks gebruiken zoals opgegeven door de opdrachtregeloptie /C:

    Veranderlijk Beschrijving
    @FILE Bestandsnaam.
    @FNAME Bestandsnaam zonder extensie.
    @EXT Bestandsnaamextensie.
    @PATH Volledig pad van het bestand.
    @RELPATH Relatief pad van het bestand.
    @ISDIR Evalueert naar TRUE als een bestandstype een map is. Anders resulteert deze variabele in ONWAAR.
    @FSIZE Bestandsgrootte, in bytes.
    @FDATE Datumstempel laatst gewijzigd op het bestand.
    @FTIME Laatst gewijzigd tijdstempel op het bestand.
  • Met de forfiles opdracht kunt u een opdracht uitvoeren op of argumenten doorgeven aan meerdere bestanden. U kunt bijvoorbeeld de opdracht op alle bestanden in een boomstructuur uitvoeren met de bestandsnaamextensie .txt. U kunt ook elk batchbestand (*.bat) uitvoeren op station C, met de bestandsnaam Myinput.txt als het eerste argument.

  • Met deze opdracht kunt u het volgende doen:

    • Selecteer bestanden op een absolute datum of een relatieve datum met behulp van de parameter /d.

    • Bouw een archiefstructuur met bestanden met behulp van variabelen zoals @FSIZE en @FDATE.

    • Onderscheid maken tussen bestanden en mappen met behulp van de variabele @ISDIR.

    • Voeg speciale tekens toe aan de opdrachtregel met behulp van de hexadecimale code voor het teken, in 0xHH-indeling (bijvoorbeeld 0x09 voor een tabblad).

  • Deze opdracht werkt door de vlag recurse subdirectories te implementeren op hulpprogramma's die zijn ontworpen om slechts één bestand te verwerken.

Voorbeelden

Als u alle batchbestanden op station C wilt weergeven, typt u:

forfiles /P c:\ /S /M *.bat /C "cmd /c echo @file is a batch file"

Als u alle mappen op station C wilt weergeven, typt u:

forfiles /P c:\ /S /M * /C "cmd /c if @isdir==TRUE echo @file is a directory"

Als u alle bestanden in de huidige map wilt weergeven die ten minste één jaar oud zijn, typt u:

forfiles /S /M *.* /D -365 /C "cmd /c echo @file is at least one year old."

Als u de tekst wilt weergeven bestand verouderd is voor elk van de bestanden in de huidige map die ouder zijn dan 1 januari 2007, typt u:

forfiles /S /M *.* /D -01/01/2007 /C "cmd /c echo @file is outdated."

Als u de bestandsnaamextensies van alle bestanden in de huidige map in kolomindeling wilt weergeven en een tabblad wilt toevoegen vóór de extensie, typt u:

forfiles /S /M *.* /C "cmd /c echo The extension of @file is 0x09@ext"