- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチ処理について)
コマンドプロンプトでのバッチ処理について
このQ&Aのポイント
- Windows XP SP3環境で特定ディレクトリにあるファイルのうち、ファイルサイズが0のファイルを削除するバッチ処理の作成方法について質問です。
- 下記のバッチファイルを使用して処理を行えるようになったのですが、6-7行目のFileAttribとSet処理の意味や役割について理解できません。
- いくつかの文献を読みましたが、理解することができませんでした。FileAttribとSet処理についてご教示いただけないでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SET FileAttrib=%~a1 上記は、FileAttrib変数に'dir /B'で出力されたファイルの属性を代入します。 以下の「バッチパラメータ・修飾子」を参考にしてください。 http://ykr414.com/dos/bat.html IF NOT %FileAttrib:~0,1%==d ( 上記は、FileAttrib変数の1文字目がd以外であれば次の処理を実行します。 (属性の1文字目がdとは、ディレクトリを意味します。) 文字列変数の1部分だけを抽出する方法については、以下のURLを参考にしてください。 http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html つまり、バッチファイルの処理内容としては、ディレクトリ以外のファイル のみに関してファイルサイズをチェックし、ファイルサイズが0バイトの場合 には削除する内容となります。
お礼
大変解りやすいご説明ありがとうございました。 どうやら当方はSETコマンドそのものを誤って理解していたようです。 ご説明頂きました内容で無事に理解する事が出来ました。要件自体は すでに完遂しておりますが、ここから発展させてスマートな処理に 繋げたいと思います。