按保存在txt文本里的文件名搜索某目录下的匹配文件的批处理怎么写?
比如:a.txt里分行保存了很多文件名,第一行:123.txt,第二行234.txt,第三行......然后这些文件在"D:\新建文件夹\"里都有,然后要写一个批处理,从...
比如:a.txt里分行保存了很多文件名,第一行:123.txt,第二行234.txt,第三行......
然后这些文件在"D:\新建文件夹\"里都有,然后要写一个批处理,从"D:\新建文件夹\"里搜索出a.txt里列出的文件并复制到"E:\新建文件夹"里. 注:"D:\新建文件夹\ "里还有好多个文件夹,文件分别在这些不同的文件夹里 展开
然后这些文件在"D:\新建文件夹\"里都有,然后要写一个批处理,从"D:\新建文件夹\"里搜索出a.txt里列出的文件并复制到"E:\新建文件夹"里. 注:"D:\新建文件夹\ "里还有好多个文件夹,文件分别在这些不同的文件夹里 展开
1个回答
展开全部
注:文件里列的文件名必须是一行一个,且不能有多余的空格(文件名本身有空格是可以的,必须完全相同)
@echo off
set d1=d:\新建文件夹
set d2=e:\新建文件夹
set ff=a.txt
echo/&echo 正在复制
for /f "usebackq delims=" %%a in ("%ff%")do (
for /f "delims=" %%b in ('dir/b/s "%d1%\%%~a"')do if exist "%%~b" (
echo/&echo %%~b
copy "%%~b" "%d2%\">nul&&set/a n+=1))
echo/&echo OK 共复制 %n% 个文件
pause
@echo off
set d1=d:\新建文件夹
set d2=e:\新建文件夹
set ff=a.txt
echo/&echo 正在复制
for /f "usebackq delims=" %%a in ("%ff%")do (
for /f "delims=" %%b in ('dir/b/s "%d1%\%%~a"')do if exist "%%~b" (
echo/&echo %%~b
copy "%%~b" "%d2%\">nul&&set/a n+=1))
echo/&echo OK 共复制 %n% 个文件
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询