2013-06-19 79 views
2

我想通過在複製文件中的orignal文件名之前添加"New_"(可變文本)來重命名文件。如何複製和重命名

示例:文件"Expenses_2013""C:\Users\Niki\Desktop\report"複製到"TargetFolder"並重命名爲"NEW_Expenses_2013"。 文件名稱"Expenses_2013"不是靜態的..它是可變的。我有以下命令。我想編輯這個命令。

call :CopyandRename "C:\Users\Niki\Desktop\report" "%TargetFolder%\" 

新的編輯

@echo off 
setlocal 
Set TargetFolder=C:\Users\Niki\Desktop\Final Report 
call :copyAndRename "C:\Users\Niki\Desktop\Report" "%Targetfolder%\" 

:: Done 
goto :eof 

:copyAndRename 
set SourceFolder=%~1 
set TargetFile=%~2 

:: Find the newest file in the source folder 
for /f "tokens=*" %%F in ('dir /b /od /a-d "%SourceFolder%"') do set "NewestFile=%%F" 

:: copy and rename it to the target 
copy "%SourceFolder%\%NewestFile%" "%TargetFile%" 
pause 

:: Done with this subroutine 
goto :eof 
+0

有源之後沒有給出文件名「C:\用戶\尼基\桌面\報告」報告文件夾後, –

回答

0

步驟1:複製文件
在命令提示,輸入:

COPY "C:\Users\Niki\Desktop\report\*" "%TargetFolder%\*" 

步驟2:重命名
類型:

REN * NEW_* 
+1

你任命令錯誤:它將用NEW_替換行首的4個字符,而不是將它添加到每個文件名的開頭。 – foxidrive

+0

@foxdrive,請你檢查一下嗎? –

+0

它工作正常 –

3
copy "C:\Users\Niki\Desktop\report\Expenses_2013" "%targetfolder%\New_Expenses_2013" 

或者更一般地說:

copy "%sourcefolder%\%sourcefile%" "%targetfolder%\New_%sourcefile%" 
+0

恩德羅..你的答案是好的..但我不能申請在我的腳本..請參閱上面我的完整腳本。調用:CopyandRename命令按照下面的腳本工作。 –

+0

不管報告文件夾中的文件是否將複製到目標,並應在文件名的開頭添加「final_」。我不能修復報告文件夾中的文件名.b'z這不僅僅是源文件夾,我還有更多。 –

+0

報告文件夾後面的源文件「C:\ Users \ Niki \ Desktop \ Report」中沒有給出文件名 –