[トップページへ] [Windows 10 FAQ 一覧に戻る]

対象:Windows 10

forfiles で複数条件を指定する方法





目的


forfiles で複数条件を指定する方法を紹介します。

手順


forfiles は指定フォルダ以下のすべてのファイルに対して処理を行う便利なコマンドです。Windows標準 で使用可能です。
このときに条件およびコマンドを指定することが可能です。ただしオプションで複数の条件は指定できないようです。

その代わりとして、条件に複数式を指定したい場合は以下のように if でつなげて記載するとよいでしょう。
以下の例では c:\temp 以下の *.* ファイルに対して "フォルダではない" かつ "サイズ0"のファイルを列挙するコマンドです。
if を連続して and 条件にしていきます。


C:\>forfiles /P c:\temp /S /M * /C "cmd /c if @isdir==FALSE if @fsize EQU 0 echo @path"



(*)isdir==FALSE がないと、フォルダも 0 バイトとして出力されてしまった。


参考:
条件として以下が使用可能です。

@file - フィルの名前を返します。
@fname - 拡張子なしのファイル名を返します。
@ext - ファイルの拡張子だけを返します。
@path - ファイルの完全なパスを返します。
@relpath - ファイルの相対パスを返します。
@isdir - ファイルの種類がディレクトリの場合は "TRUE"を、ファイルの場合は"FALSE" を返します。
@fsize - ファイルのサイズをバイトで返します。
@fdate - ファイルの最終更新日を返します。
@ftime - ファイルの最終更新時刻を返します。




(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本ページは独自に調査をしたアンオフィシャル(非公式)な内容です。内容に誤りがあったり、仕様変更により内容が変わる可能性があります。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)


Copyright(c) TOOLJP.COM 1999-2018

[Windows 10 FAQ 一覧に戻る]