バッチ処理について
コマンドプロンプトでのバッチ処理についてお伺いします。
【環境】
Windows XP SP3
【要件】
特定ディレクトリにあるファイルにおいて、○○Byte以下のファイルを削除する。
上記の要件に則ってバッチファイルを作成する事となりました。全くの無知で検索した所、
下記のサイトに辿り着き、お知恵を拝借させて頂きました。
http://www.fpcu.jp/dosvcmd/bbs/log/delerase/4-0062.html
--------------------
@ECHO OFF
FOR /F %%F IN ('dir /B') DO ( CALL :CheckFile %%F )
EXIT /B
:CheckFile
SET FileAttrib=%~a1
IF NOT %FileAttrib:~0,1%==d (
IF %~z1 == 0 (
ECHO "%1" はファイルサイズが 0 なので削除します。
REM DEL %1
)
)
EXIT /B
--------------------
いくつかの文献を読み、大方の内容と要件に沿った処理を行えるまでには至ったのですが、
どうしても6-7行目を理解する事が出来ません(IF処理では無く、FileAttribの行り、SET処理についてです)。
どなかたご教示頂けないでしょうか。
補足
例えば拡張機能の下にシステムが作成するフォルダ(作業環境マネージャ)がありますよね、そこにあるファイルを操作したいのです。特別なフォルダとして、絶対パスを指定しなくても、拡張機能まではスクリプトで取得できそうなのですが、その下のフォルダだとどうやっていいのか分かりません。いろいろ調べたのですが... Mac の場合、国別でシステムフォルダの名前が違いますよね、英語版なら"extension:Location Manager Module", 日本語版なら"拡張機能:作業環境マネージャ"というように。ですので、どの言語でも動作するように、日本語名でパスを指定するのではなく、システム変数でアクセスしたいのですが、どこかに記述されてところをご存知ないでしょうか?