帮我做个批处理,要求全盘符搜索指定文件(例如1001.mpg)然后移动到指定文件夹中;

1.指定文件可以多个添加(如:1001.mpg,1003.mpg,1568.mpg等等,文件后缀相同,我需要在8块2T盘中找到几千个过时的文件)2.是移动不是复制文件;3... 1.指定文件可以多个添加(如:1001.mpg,1003.mpg,1568.mpg等等,文件后缀相同,我需要在8块2T盘中找到几千个过时的文件)
2.是移动不是复制文件;
3.指定的文件夹可以手动更改;
展开
 我来答
talorkitty
2013-12-31 · TA获得超过771个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:443万
展开全部
set _DEST_DIR_=<指定文件夹>
set _SOURCE_DIR_=<指定源文件夹>
set _FILE_NAME_=<指定文件名>
pushd %_SOURCE_DIR_%
for /F %%a in ('dir %_FILE_NAME_% /b/s') do (
move %~fnxa _DEST_DIR_\.
)

上面的批处理比较简单,每个文件的都需要调整批处理。下面这个更能一次性解决问题。主要是帮你一次性去处理所有的指定文件,不用一次一次的改。 


建立一个文本文件(drive.txt)里面的内容是你8个硬盘的卷标,比如说:

h:
i:
j:
k:
l:
m:
n:
o:

再建立一个文本文件(filelist.txt),把你要查找的文件包括扩展名和对应要移动到的目标目录,不支持通配符,每行一个文件的列在里面。如

1001.mpg "指定目标目录1"
1003.mpg "指定目标目录2"
1568.mpg "指定目标目录1"

然后用下面的批处理来移动列表中的文件,与filelist.txt和drive.txt在同一目录。


for /F "delims= tokens=1,2" %%a in (filelist.txt) do (
for /F %%i in (drive.txt) do (
pushd %%i
for /F %%A in ('dir %%a /b/s') do move %~fnxA %%b\.
popd))
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式