我有成千上萬的文本文件格式類似的東西abcdefgh_20140430120000.txt
複製和重命名文件與批處理文件
我想那些從一個文件夾複製到另一個文件夾一樣
xcopy "Y:\FolderA" "C:\FolderB"
不過,我想刪除時間部分文件名,從而使文本文件看起來像abcdefgh_20140430.txt
誰能幫助我的代碼這樣做呢?
我有成千上萬的文本文件格式類似的東西abcdefgh_20140430120000.txt
複製和重命名文件與批處理文件
我想那些從一個文件夾複製到另一個文件夾一樣
xcopy "Y:\FolderA" "C:\FolderB"
不過,我想刪除時間部分文件名,從而使文本文件看起來像abcdefgh_20140430.txt
誰能幫助我的代碼這樣做呢?
啓動這樣:如你所願,應該將它們拷貝和刪除文件名的最後6個字符。
文件名與他們!
將產生一個錯誤。
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir *.txt /b /a-d ') do (
set "name=%%~na"
copy "%%a" "C:\FolderB\!name:~0,-6!%%~xa"
)
你可以使用rename命令徹底擺脫了複製的文件名的不必要的部分。
copy "Y:\FolderA" "C:\FolderB"
rename "C:\FolderB" "C:\FolderC"
這應該工作,如果你有任何問題,然後告訴我,我會盡我所能來解決它:)
你也不需要在複製前的X,或至少因爲我使用的是Windows 8.1,所以我不需要它,如果這有什麼關係的話。在文件夾中
COPY "C:PathOfFileToCopy\Filename" "C:PathOfCopyDestination\NewFilename"
RENAME "C:PathOfFileToCopy\Filename" NewFileName
已經有很好的答案。應避免添加沒有描述的答案,甚至不解決問題 – jeb
你有沒有做過任何研究,這樣做你自己,就像至少做搜索嗎?它似乎沒有,因爲'x copy'不是一個有效的命令。搜索SO作爲'[batch-file]複製重命名文件'(正如我輸入它,包括'[]'括號一樣),並查看你能找到的內容。努力自己做,如果你無法獲得它能夠工作,你可以回過頭來問一個關於你遇到的問題的具體問題,包括你的努力,並且我們可以嘗試提供幫助,但是你需要首先做一些努力,祝你好運。 :-) –
@KenWhite,我一直在尋找解決方案。 xcopy是一個命令,它可以工作。對不起,我留下了「x」和「copy」之間的空格。我還排除了我在複製時使用的開關,因爲它們不相關。我只需要幫助刪除除.txt以外的文件的最後6個字符。我可以處理一個單獨的文件,像'ren%fName%fName:〜0,-6%.txt',但需要某種循環。感謝您投票,雖然 – niemoy
我沒有看到任何努力的跡象,並且這個問題有一個明顯不存在的命令(我提到的'x copy')。我提供的搜索詞有很多相關的問題;在問同樣的問題之前,我已經在這裏看到了幾個。 (另外,要小心的指責沒有證據,評論並不一定意味着downvote,除了downvote需要一個評論伴隨它。) –