Windows 10 - 在設定的字元間隔內搜尋檔案名稱的特定部分

Windows 10 - 在設定的字元間隔內搜尋檔案名稱的特定部分

美好的一天/晚上好,

也許有人可以提供幫助,也許這可以幫助別人。如果有人觀察下面的例子:

01022015- BLABLABLA 04022018 - BLABLABLAB 02012016 - Blablabla

我想做的是當 02 位於檔案名稱的第三個和第四個字元時搜尋 02。就像在第二個字元後搜尋“02”一樣。

這樣我就可以分別整理所有二月的文件,然後正確地批次重命名它們。

這可行嗎?下面是一個搜尋查詢範例,可以作為進一步開發的基礎。

已經謝謝你了~”(4)

答案1

當 02 位於檔案名稱的第三個和第四個字元時搜尋 02。

使用?模式符號,意思是「1個字元強烈」:

DIR ??02*.*

答案2

我想你這次很幸運。在這種情況下,正規表示式非常簡單,甚至可以在微軟 視窗 10命令列預處理器。

正規表示式是??02*.

因此,您可以大膽地發出作業系統命令,例如RENAME ??02* <New Name>.

重命名語法

答案3

遞歸地嘗試這個:
for /f tokens^=* %F in ('where /r . "??02*.*"')do rename "%~F" "Some_New_Name%~xF"
  • 輸出:
rename "G:\SUPER_USER\Q59446122\310220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\110220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\100220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\Sub_1\170220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\Sub_1\030220218.txt" "Some_New_Name.txt"

對目前資料夾嘗試此操作:

for /f tokens^=* %F in ('where "??02*.*"')do rename "%~F" 
  • 輸出:
rename G:\SUPER_USER\Q59446122\310220218.txt Some_New_Name.txt
rename G:\SUPER_USER\Q59446122\110220218.txt Some_New_Name.txt
rename G:\SUPER_USER\Q59446122\100220218.txt Some_New_Name.txt

相關內容