❶ 求bat對多個文件夾中的文件按照文件的順序以文件夾名對文件進行編號的方式批量重命名
如果你非要這個順序,就新建文件夾,然後按順序移動文件過去,可以用批量的,比如文件0000?.*,做的時候注意看文件順序,為保證這個順序可以分別建立N個文件夾,省得返工。
全部弄好後,可以把原來文件夾刪除,然後新建,在依次把文件移動回來,這時間目錄里的文件是按自然順序排列的,不要管文件本身的實際順序。可以注意看移動的時候顯示的文件名,依次排列的才符合你的要求。然後注意以後不要隨便的刪除、替換文件,否則順序將變化。
要是有能力直接編輯「目錄」,可以對目錄直接排序而不影響。
這原理就是文件本身也是文件的一種,依次排列了文件名等信息,刪除替換了文件,文件名就被打亂,和亂放書的書架類似,系統不會去整這個的。在移動文件到新的文件夾的時候,文件名信息是依次按順序排列的了,轉移回來的時候,順序是保持不變化的。
資源管理器看的文件排列順序是系統演示給你看的,和自然順序不是一個事。
❷ bat查找當前文件夾內txt內容並給添加序號
@echooff
for/f%%jin('dir*.txt/b')do(
call:sub%%j
)
deltemp.txt
echo全部完成!
pause>nul
:sub
set/acount=0
for/f"tokens=*"%%iin(%1)do(
set/acount=!count!+1
echo%%i>temp.txt&&ping127.0.0.1-n2>nul|findstr".com"temp.txt>nul&&echo!count!、%%i>>new_%1||set/acount=!count!-1&&echo%%i>>new_%1
)
echo%1--^>new_%1OK!
代碼如上。如需修改,有以下關鍵點:
1、查找關鍵詞。在13行:".com" (冒號內可替換成其他查找內容)
2、改序號格式。在13行:!count!、%%i (那個頓號可替換為其他)
3、輸出文件名。在13行:new_%1 (new_可替換為其他,注此行有兩個都要改)
❸ 您好,之前解答的這個問題:bat批處理語句,把多個文件夾裡面的文件按名稱排序後,以文件夾名為基礎.....
如果要在bat批處理中把多個文件夾裡面的文件按名稱排序後,以文件夾名為基礎,遞增命名,並且從1開始命名,可以使用如下代碼:
@echo off
setlocal enabledelayedexpansion
set i=0
for /d %%a in (*) do (
set /a i=i+1
set folder=%%a
set num=1
for /f "delims=" %%b in ('dir /b /a-d "%%a" ^| sort') do (
ren "%%a\%%b" "!folder!-!i!-!num!.txt"
set /a num=num+1
)
)
這段代碼首先會使用for循環遍歷所有的文件夾,然後使用另一個for循環遍歷每個文件夾中的文件。在內層for循環中,使用dir命令按名稱排序後獲取文件列表,再使用ren命令修改文件名。
在修改文件名時,使用了!folder!-!i!-!num!.txt的格式,其中!folder!表示文件夾名,!i!表示文件夾的序號,!num!表示文件的序號。
需要注意的是,這段代碼中使用了setlocal enabledelayedexpansion命令,這是因為要使用批處理的延遲變數替換功能(也就是使用!變數名!的形式表示變數值)。
延遲變數替換是批處理的一種特性,它可以在執行命令時才替換變數值,而不是在解釋命令時就替換。這使得我們可以在for循環中使用延遲變數替換來修改變數值,然後在命令中使用這些修改後的變數值。
最後,這段代碼中使用了set /a命令來對變數進行數學運算。set /a命令可以用於將變數值設置為數學表達式的結果,例如set /a num=num+1。
在運行上述代碼後,原來的文件夾中的文件會被按名稱排序並按照文件夾名-文件夾序號-文件序號.txt的格式命名。文件夾序號和文件序號都是從1開始遞增的。
例如,如果原來有如下三個文件夾:
folder1
file1.txt
file2.txt
folder2
file1.txt
file2.txt
file3.txt
folder3
file1.txt
運行完上述代碼後,文件夾中的文件會被命名為:
folder1-1-1.txt
folder1-1-2.txt
folder2-2-1.txt
folder2-2-2.txt
folder2-2-3.txt
folder3-3-1.txt
如果你想修改代碼使得文件序號從1開始,可以將內層for循環的set /a num=num+1語句改為set /a num=1,這樣文件序號就會從1開始遞增。
此外,你還可以根據需要修改命名格式。例如,如果你想使用folder-num的格式命名文件,可以將ren命令修改為:
ren "%%a\%%b" "!folder!-!num!.txt"
這樣,文件夾名和文件序號之間就不會有"-"了。
希望這些信息對你有幫助。如果你還有其他問題,可以繼續提出來;