2017-02-01 13 views
0

複数のExcelファイルを同じフォルダに複製して名前を変更する.batファイルを作成します。 このExcelファイルを同じディレクトリにコピーします C: \ファンド\レポートは12-16 Cそれの名前を変更:\ファンド\レポート1月17日.BAT Excelファイルを同じフォルダにコピーして名前を変更します

コピーこれは同じディレクトリに CをExcelファイル:\ Funds2:\ Funds2 \報12-16 はそれを Cの名前を変更します\ Report2 01-17

答えて

0

重要:あなたのファイル拡張子が ".xls"であると仮定します。

@echo off 
md temporary 
xcopy "%CD%\Report 12-16.xls" "%CD%\temporary" 
ren "%CD%\temporary\Report 12-16.xls" "report 01-17.xls" 
xcopy "%CD%\temporary\Report 01-17.xls" "%CD%" 
del "%CD%\temporary\Report 01-17.xls" 
xcopy "%CD%\Report2 12-16.xls" "%CD%\temporary" 
ren "%CD%\temporary\Report2 12-16.xls" "Report2 01-17.xls" 
xcopy "%CD%\temporary\Report2 01-17" "%CD%" 
del "%CD%\temporary\Report2 01-17.xls" 
rd /Q temporary 
0

FOR commandのように聞こえます。 FORでは、指定されたパターンに一致するファイルを繰り返し処理し、ファイル名の一部を抽出し、実行するコマンドを作成するために使用することができます。

すべてすなわち<name> <mm-yy>の.xlsx、あなたがあなたの質問に示すパターンに従ってください、あなたは「new_month.cmd」バッチファイルに次のように使用することができ、ファイルを仮定:

FOR /F "delims= " %%B IN ('dir /b *%1.xlsx') DO copy "%%B %1.xlsx" "%%B %2.xlsx" 

とコマンドから呼び出します'new_month.cmd 12-16 01-17'と表示されます。

* 12-16.xlsxに一致するすべてのファイルを検索し、 'delims ='で定義された ''文字にファイル名を分割し、結果の最初のトークンを使用して、古いファイルを日付を使用して新しいファイルにコピーしますコマンド行でバッチファイルのパラメータとして指定された文字列%1と%2。あなたも直接コマンドラインでこれを行うことができます

注意(不要バッチファイル)など:

FOR /F "delims= " %B IN ('dir /b *12-16.xlsx') DO copy "%B 12-16.xlsx" "%B 01-17.xlsx" 
関連する問題