[ www.notava.org > メモ > Windows2000 バッチファイル ]


個人的なメモですから、もちろん無保証・自己責任で。

Windows2000 バッチファイル

ファイル名の一部分を取り出す

Windows NT/2000 FAQとか@IT。情報源は FOR /? か? %‾dp0で、バッチファイルのあるディレクトリを得られる。

文字列の一部分を取り出す

SET /? によると、添え字を指定して一部分を取り出したり、一部分を置換したり出来るらしい。

算術演算

SET /A 式 で C 言語ライクな式を記述できる。SET /? を参照。

カレントディレクトリ、時刻、乱数

%CD%, %DATE%, %TIME%, %RANDOM%。SET /? を参照。

コマンドの出力した文字列を環境変数に入れる

FOR /F "usebackq tokens=*" %%I IN (`ここにコマンド`) DO SET 環境変数名=%%I

ただし、出力が複数行だった場合に、最後の行しか得られない。cmd /V:ON して、set hoge=!hoge! %%I すれば可能と思われる。CMD /?SET /? を参照。

Windows のパス・ファイル名を cygwin のコマンドに渡す

FOR /F "usebackq tokens=*" %%I IN (`cygpath -u ファイル名`) DO コマンド %%I