こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

QNo.5697886

WWZ

困ってます

質問者が選んだベストアンサー

変数 %%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)

あなたにオススメの質問