回答
下可以完成你在找什麼。它使用for
循環遍歷文本文件,並對批處理文件的另一位進行「調用」,以執行變量的重命名和增量操作。
編輯將數學運算更改爲由Andriy提出的更清潔的解決方案。
@echo off
set i=1
for %%f in (*.txt) do call :renameit "%%f"
goto done
:renameit
ren %1 %i%.txt
set /A i+=1
:done
這樣做有兩個問題,只有一個文件已被重命名,如果文件名包含空格,則該批處理不能重命名任何文件 – JustMe 2011-06-15 16:19:20
@JustMe:我編輯了響應並在'%% f'處加引號來處理帶空格的文件名。然而,並不清楚爲什麼只有一個文件會被處理。這可能是由於不同的DOS版本。 – 2011-06-15 16:34:09
+1。順便說一句,「SET/A i = i + 1」或甚至「SET/A i + = 1」也可以。 – 2011-06-15 19:07:57
首先做一個目錄列表:
dir /b *.txt > myfile.cmd
然後啓動UltraEdit的(http://www.ultraedit.com/)並打開該文件。
然後進入列模式,選擇所有的線條,以及:
- 插入「重命名」,在每一行
- 插入「.TXT」在每行的結束的開始(一定要投入情況下,它遠遠不夠的權利,你有很長的線)
- 插入一個數字(見列/插入數字菜單).TXT 前右
不錯,但是我想用批處理文件(dos命令) – JustMe 2011-06-15 15:37:09
我要重命名的文件夾,* .TXT內的所有文件,因此其結果將是 「的1.txt」, 「2.txt」 和 「3.txt」,...
我該怎麼做?
::Setup the stage...
SETLOCAL ENABLEDELAYEDEXPANSION
SET folder=C:\This\Is\The\Folder
SET count=1
::Action
CD "%folder%"
FOR %%F IN ("*.txt") DO (
MOVE "%%F" "!count!.txt"
SET /a count=!count!+1
)
ENDLOCAL
速記
SETLOCAL ENABLEDELAYEDEXPANSION
SET count=1
FOR %%F IN (C:\Path\To\File\*.txt) DO MOVE "%%~fF" "%%~dpF!count!.txt" & SET /a count=!count!+1
ENDLOCAL
所以,如果你的文件夾包含cat.txt,dog.txt,bird.txt,ninjaturtle.txt,它將輸出的1.txt,2.txt,3.txt ,4.txt。
- 1. 批處理DOS - 重命名文件夾
- 2. CMD/DOS /批處理命令重命名文件的管理員
- 3. Dos批處理文件 - 重命名一些文件
- 4. 批處理文件重命名文件
- 5. 使用批處理文件重命名多個文本文件
- 6. 重命名文件的子目錄與DOS的批處理
- 7. 批處理文件:根據內容重命名多個文件
- 8. 批處理腳本重命名文件在多個文件夾
- 9. 批處理文件重命名多個文件夾中的文件
- 10. 批處理文件重命名文件夾中的文件
- 11. 重命名批處理文件的Windows
- 12. DOS批處理文件 - 如何用'em'破折號重命名文件
- 13. 自動重命名批處理文件
- 14. 批處理文件重命名
- 15. Windows批處理文件重命名
- 16. 批處理腳本重命名文件
- 17. 批處理文件圖像重命名
- 18. Bash批處理文件重命名
- 19. 批處理文件替換/重命名
- 20. 文件重命名批處理腳本
- 21. 批處理文件重命名JPG
- 22. 重命名批處理文件在UNIX
- 23. 批處理文件重命名文件夾內的文件
- 24. 使用批處理文件重命名文件夾中的多個圖像
- 25. 如何重命名批處理文件中的文件?
- 26. 批處理:重命名'程序文件'中的文件夾
- 27. 批處理文件重命名給定目錄中的文件
- 28. 重命名批處理文件中的文件路徑
- 29. 批處理文件重新命名5個文件夾(取代)
- 30. 重命名文件夾等文件,批處理文件
如果新名稱與舊名稱有任何關係,這無關緊要嗎?例如AAA.txt - > 1.txt,BBB.txt - > 2.txt – Kev 2011-06-15 14:48:18
不,我想用串行命令重命名。 cat.txt,dog.txt,rat.txt - > 1.txt,2.txt,3.txt等 – JustMe 2011-06-15 14:51:57