DOSのfor文に関して
コマンドプロンプトからDOSのバッチを動かしています。
for文を使って、あるフォルダ内の、複数のExcelファイルのファイル名の後ろに、日付を付加しようとしています。
ファイル名の先頭には日付を付ける事は簡単に出来たのですが、ファイル名の後ろに付けるとなると拡張子(xls)が邪魔になってしまいます。
何か良い方法があったら教えてください。
set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
cd パス指定
for %%i in (*.xls) do rename %%i "%yy%%mm%%dd%_%%i"
「"%yy%%mm%%dd%_%%i"」で拡張子(xls)が邪魔になる為、現在はファイル名の前に日付を付けています。
投稿日時 - 2010-02-22 19:13:26
変数 %%i を %%~ni とすることで、拡張子を除去したファイル名だけを、%%~xi で、拡張子だけを取り出すことが出来ます。
%%~i 全ての引用句 (") を削除して%%iを展開する
%%~fi %%iを完全修飾パス名に展開する
%%~di %%iをドライブ名だけに展開する
%%~pi %%iをパスだけに展開する
%%~ni %%iをファイル名だけに展開する
%%~xi %%iをファイル拡張子だけに展開する
%%~si %%iをMS-DOSの短い名前 (8.3形式) に展開する
%%~ai %%iをファイル属性に展開する
%%~ti %%iをファイルの日付・時刻に展開する
%%~zi %%iをファイルのサイズに展開する
『OKWave:バッチファイル 複数ファイルの存在確認及び、比較方法』
http://bekkoame.okwave.jp/qa5636370.html
投稿日時 - 2010-02-22 19:24:26
分かり易い説明、有難う御座います。
大変、助かりました。
投稿日時 - 2010-02-23 18:36:45
このQ&Aは役に立ちましたか?
0人が「このQ&Aが役に立った」と投票しています
回答(1)