我正在嘗試創建一個腳本,它將從文件中拉出文件名的前兩個字符,使一個包含這兩個字符的目錄(順便說一句,它們是數字)並最終將原始文件放入這些文件夾中。我能夠部分地做到這一點使用下面的代碼行(沒有額外的內容)批處理腳本 - 缺少字符
IF EXIST 01* (MKDIR 01)
IF EXIST 02* (MKDIR 02)
IF EXIST 01* (MOVE 01* 01)
IF EXIST 02* (MOVE 02* 02)
這顯然是低效率的,需要的腳本編輯,如果我有比文件的施氮量更多。然後我做了一些挖掘,我發現這個劇本,我試圖修改不成功適合我的需要
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /R %%g IN (*) DO (
SET fileName=%%~ng
MKDIR !fileName:~2!
)
此腳本完成排序。我的測試文件名稱看起來像0102.txt,0203.txt,0304.txt等等。取代第一部分01,02,03等的劇本,它抓住了第二部分02,03,04等,並切斷了前兩個字符。我在腳本中執行了一個回聲,我甚至可以看到它刪除了前兩個字符。這很奇怪,因爲我甚至可以做
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /R %%g IN (*) DO (
SET fileName=%%~ng
MKDIR !fileName!
REN !fileName! !fileName:~2!
)
我仍然會得到相同的結果。有沒有人有任何想法來解決這個問題?
我這將在一秒鐘內完成。我一直忙於工作和事情,所以我沒有機會來這裏看看。 – toddimyre
謝謝。這工作完美。當我借用原始代碼時,我忘記了最初的修飾符。 – toddimyre