2016-11-23 12 views
0

特定のファイルの名前を変更するコードがあります。この場合は16919.csvで末尾に日付が追加され、元のファイルと同じ名前のフォルダに格納されます。 しかし私は、複数のファイル名に対して同じバッチファイル設定を持っています。どんなidが好きなのかは、コマンドがファイルの名前をつかんで、それを使って以下のコマンドを実行することです。だから私は別の名前の複数のファイルの名前を変更する1つのファイルを持つことができます。これはどのように可能ですか?複数の名前を持つファイルの名前を変更する

@echo off 
for /f "delims=" %%a in ('wmic OS Get localdatetime ^|find "."') do set "dt=%%a" 
set "YY=%dt:~2,2%" 
set "YYYY=%dt:~0,4%" 
set "MM=%dt:~4,2%" 
set "DD=%dt:~6,2%" 
set "HH=%dt:~8,2%" 
set "Min=%dt:~10,2%" 
set "Sec=%dt:~12,2%" 

set datestamp=%DD%%MM%%YYYY% 
set timestamp=%HH%%Min%%Sec% 
set fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec% 

ren "16919.csv" "/16919/16919 - %datestamp%.csv" 
+2

私たちがあなたの質問に答えるのに役立ついくつかの入力と出力の例で質問を更新したかもしれません。 – Squashman

+0

あなたは基本的に['for'](http://ss64.com/nt/for.html)ループと[' move'](http://ss64.com/nt/move.html)を探しています)コマンド... – aschipfl

答えて

0

次のスクリプトは、のみ(この場合は、.CSV)1つの拡張子のファイルの名前を変更するに限定されます。

@echo off 
for /f "delims=" %%a in ('wmic OS Get localdatetime ^|find "."') do set "dt=%%a" 
set "YY=%dt:~2,2%" 
set "YYYY=%dt:~0,4%" 
set "MM=%dt:~4,2%" 
set "DD=%dt:~6,2%" 
set "HH=%dt:~8,2%" 
set "Min=%dt:~10,2%" 
set "Sec=%dt:~12,2%" 

set datestamp=%DD%%MM%%YYYY% 
set timestamp=%HH%%Min%%Sec% 
set fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec% 

for /f "delims=" %%i in ('dir /b /a-d *.csv') do ren "%%~i" "%%~ni %datestamp%%%~xi" 

ちょうどあなたが追加したいファイルのあるフォルダにそのスクリプトを実行します〜に日付。

参考文献this question

+0

ありがとう、これは、私が実行する予定であるので、私は他のものを使用できませんでした私は物理的にそれを自分自身を実行しないので、ドラッグアンドドロップを実行します。最後の行を少し変更しました: 'for/f" delims = "%dir/b/ad * .csv"の%% iは "%%〜i" "/ %%〜ni/%%〜ni - %datestamp %%%〜xi "' – cheesemarathon

関連する問題