
批處理重命名文件名后第一個文件名出現重復文本如何解決最后由 布布丁 于 -6-11 23:39手頭有10個txt文件,每個文件只有2行內容。文件原名稱為第一行文本的內容,現在需要重命名為:第二行文本的內容+原名稱。舉例說明:文件原名稱為:001.泥坑.txt003.春節.txt005.最好的朋友.txt007.捉迷藏.txt009.豬媽媽在工作.txt011.豬爸爸的眼鏡不見了.txt013.打嗝.txt015.秘密.txt017.野餐.txt019.青蛙,蟲子和蝴蝶.txt----------------------------期望重命名后的文件名稱為:002.雙胞胎熊貓_001.泥坑.txt004.恐龍先生弄丟了_003.春節.txt006.鸚鵡波莉_005.最好的朋友.txt008.喬治第一天上幼兒園_007.捉迷藏.txt010.中間的小豬_009.豬媽媽在工作.txt012.花園種菜_011.豬爸爸的眼鏡不見了.txt014.自行車_013.打嗝.txt016.放風箏_015.秘密.txt018.樂器_017.野餐.txt020.裝扮游戲_019.青蛙,蟲子和蝴蝶.txt-------------------------------------------按照下面的腳本:
執行后,文件名稱為:002.雙胞胎熊貓_002.雙胞胎熊貓_001.泥坑.txt004.恐龍先生弄丟了_003.春節.txt006.鸚鵡波莉_005.最好的朋友.txt008.喬治第一天上幼兒園_007.捉迷藏.txt010.中間的小豬_009.豬媽媽在工作.txt012.花園種菜_011.豬爸爸的眼鏡不見了.txt014.自行車_013.打嗝.txt016.放風箏_015.秘密.txt018.樂器_017.野餐.txt020.裝扮游戲_019.青蛙,蟲子和蝴蝶.txt--------------------------------------------------即第一個文件名中,002.雙胞胎熊貓_002.雙胞胎熊貓出現了重復(實際第一個文件第二行文本內容為:002.雙胞胎熊貓)。請幫忙看看為什么第一個文件名中會出現重復?該如何修正腳本呢?nclick="copycode($('code0'));">復制代碼
- @echo off
- setlocal enabledelayedexpansion
- for %%a in (*.txt) do set txt=%%a & call :aa
- pause
- :aa
- for /f usebackq skip=1 delims=* %%b in (!txt!) do (
- set a=%%a & set b=%%b
- ren !a! !b!_!a!
- goto :eof
- )

