2013-12-14 145 views
1

我是批處理文件的新手,所以請溫柔!我一直在嘗試構建一個簡單的批處理文件,以便根據特定的命名約定重命名數千個文本文件。由於文件位置的碎片性質,我希望能夠從與目標文本文件相同的文件夾中運行批處理文件。For循環不循環批處理文件中的所有文件

儘管腳本在運行時似乎在單個文件上執行得很好,但它不會遍歷同一文件夾中的所有文件,我不知道爲什麼!如果我多次運行腳本,最終每個文件都會被翻譯,但顯然這並不理想。任何幫助非常感謝!

代碼如下:

@echo off 
setlocal EnableDelayedExpansion 
for /f "eol=: delims=" %%a in ("*.txt") do (
    set name=%%~Na 
    set prefix=QX 
    set newName=!prefix!!name:~0,1!X!name:~1,2!!name:~3! 
    ren "%%a" "!newName!%%~Xa" 
) 

回答

0

嘗試像這樣:

@echo off 
set prefix=QX 

setlocal EnableDelayedExpansion 
for /f "delims=" %%a in ('dir *.txt /b') do (
            set name=%%~Na 
            set newName=%prefix%!name:~0,1!X!name:~1,2!!name:~3! 
            ren "%%a" "!newName!%%~Xa") 
+0

謝謝 - 正是我一直在尋找! – user3101252