2017-08-15 77 views
1

我需要創建文件夾並根據文件名的前八個字符將文件重定位到文件夾。該文件將是這樣的:批量創建文件夾並根據部分文件名重定位文件

GG001652 - 5211_Infoscitex.xls
GG001652 - 5211-作爲7.31.12.pdf
GG001570的 - 7575 FSR(2010年3月31日).PDF
GG001570 - 7575_IC_6.30.12.xlsx
GG001570 - 7575_SF 425_6.30.12.xls

我想批創建兩個文件夾:

GG001622
GG001570

每個包含以這8個字符開頭的文件。文件長度和命名不一致,但前8個字符是標準化的,文件類型包括.pdf,.doc,.docx,.xls,.xlsx和.msg

花了好幾個小時試圖修改Magoo的代碼在這個職位,但不能爲我的生命得到它的工作:

Batch create folders based on part of file name and move files into that folder

有一個工作的最後期限,我需要適應,所以非常感謝提供任何幫助。

回答

0

如果第一8個字符總是隨後空間,
使用FOR/F分裂與缺省的定界符空間和令牌1.名稱見ss64.com/nt/for_f

@Echo off 
for /f "delims=" %%A in (
    'DIr /B /A-D "* - *.*" ^| findstr /I "^[PG]G[0-9][0-9][0-9][0-9][0-9][0-9].-..* ' 
) Do for /f %%B in ("%%A") do (
    MD %%B >NUL 2>&1 
    Move "%%A" %%B 
) 

用於現在替換第一迭代與/ f解析目錄更復雜的dir輸出將被具有RegEx的findstr過濾以匹配描述的名稱結構。
a P或G後跟G後跟6個數字。

+0

太棒了,謝謝!如何編輯以說明變量的第一個字符(P或G)? – Tykal

相關問題