将多个文件从文本移动到多个目的地

时间:2014-04-05 00:52:05

标签: batch-file

您好我正在尝试将多个文件移动到单独的目录中。我也在txt文件中使用列表。

在txt文件中我有

123
123_a
123_b
321
321_a
321_b

在单独的文件夹中,文件驻留为 123.txt 123_a.txt 123_b.txt 等...

我希望带有_a的文件名朝一​​个方向移动,带有_b的文件名转到另一个方向,而没有_a或_b去其他地方。我知道如何使用排除列表,因此移动普通列表并不是问题。它只是将_a文件移动到某个地方。我想我需要以某种方式使用IF或Stringsrc,但我还没能得到它。我必须在命令中使用%src_folder%,因为它是一个联网文件夹。并且此文件夹中只允许某些文件类型。 任何帮助表示赞赏!

简单的复制命令我正在使用,我将在以后使用令牌和删除:

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

1 个答案:

答案 0 :(得分: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"
)