2014-04-05 42 views
2

嗨,我試圖移動多個文件分隔目錄。我也使用txt文件中的列表。移動從文本多個文件到多個目的地

在txt文件,我有

123 
123_a 
123_b 
321 
321_a 
321_b 

在一個單獨的文件夾中的文件駐留作爲 123.txt 123_a.txt 123_b.txt 等等

我想要的文件名與_a向一個方向前進,文件名以_b爲另一個方向,並且_a或_b不在其他地方。我知道如何使用exlude列表,因此移動普通列表不是問題。它只是讓_a文件移動到某個地方。我想我需要使用一個IF或Stringsrc,但我一直無法得到它。因爲它是聯網文件夾,所以我必須在命令中使用%src_folder%。此文件夾中只允許某些文件類型。 任何幫助表示讚賞!

我使用,我將在以後使用令牌和delims簡單的複製命令:

for /f "tokens=*" %%i in (C:temp\test.txt) DO xcopy "%src_folder%\%%i.txt" "%dst_folder%" 

回答

0

這應該在一個基本途徑幫助:確保文件夾存在第一

@echo off 
for /f "delims=" %%a in (list.txt) do (
    echo %%a|find /i "_a" >nul && move "*%%a*" "d:\folder1" 
    echo %%a|find /i "_b" >nul && move "*%%a*" "d:\folder2" 
    if exist "*%%a*" move "*%%a*" "d:\folder3" 
) 
+0

外貌就像我想要的一樣。穿過它,它看起來是正確的。但它說它無法找到該文件。我猜我的源文件夾位於錯誤的位置。 讓我澄清另一件事。 list.txt中的列表引用了其他文件(不是.txt)。讓我們說他們是在另一個文件夾中的JPEG文件。所以這就是我: FOR/F 「delims =」 %%一中(LIST.TXT)做( 呼應%%一個|找到/我 「_a」> NUL &&移動 「%% A.JPG」「 %SRC_FOLDER% 「 呼應%%一個|找到/我 」_B「> NUL &&移動 」%% A.JPG「 」%SRC_FOLDER%「 是否存在 」%%「 移動 」%% A.JPG「」 % dst_folder%」 ) 文件夾已經設置。 – user3500099

+0

我編輯了代碼並添加了通配符 - 「list.txt」和「批處理文件」都放入了「具有所有文件的文件夾中」。 list.txt應該具有文件的唯一標識符。 – foxidrive

+0

啊,我不能在與文件相同的文件夾批次和list.txt。無論如何設置源文件夾? – user3500099

相關問題