例如我需要查找的文件名集合为123.TXT,里面内容为第一行:AA;第二行为BB;依次类推
在另外一个文件夹DATA下有大量TXT文件,包含AA.TXT,BB.TXT,可能子文件夹中还有CC.TXT.请问怎样写BAT文件通过将123里面的文件名,查找出文件复制出来
bat 批量查找文件拷贝:怎样从TXT文件中读取文件名查找然后拷贝,查找的文件范围在根目录和子目录中都有
答案:3 悬赏:0 手机版
解决时间 2021-03-19 15:28
- 提问者网友:暗中人
- 2021-03-19 10:23
最佳答案
- 五星知识达人网友:拾荒鲤
- 2021-03-19 11:34
@echo off
for /f "delims=" %%i in (123.TXT) do (
for /f "usebackq" %%j in (`dir /a-d /b /s DATA\`) do (
if /i "%%~nxj"=="%%i.txt" (
xcopy %%j C:\Users\Administrator\Desktop
)))
不知你电脑上这些文件是什么情况,这里的条件是:123.txt和data同在一个目录下,而且在data中不能有同名文件,否则复制到另一个地方时会提示让覆盖,搜索到的文件复制到的目录这里是桌面,bat要放在123.txt和data所在目录中运行。
for /f "delims=" %%i in (123.TXT) do (
for /f "usebackq" %%j in (`dir /a-d /b /s DATA\`) do (
if /i "%%~nxj"=="%%i.txt" (
xcopy %%j C:\Users\Administrator\Desktop
)))
不知你电脑上这些文件是什么情况,这里的条件是:123.txt和data同在一个目录下,而且在data中不能有同名文件,否则复制到另一个地方时会提示让覆盖,搜索到的文件复制到的目录这里是桌面,bat要放在123.txt和data所在目录中运行。
全部回答
- 1楼网友:慢性怪人
- 2021-03-19 12:39
假设你的文件名集合在C:\TEST\下,程序将要拷贝到D:\BACKUP下:
@echo off
FOR /R D:\DATA %%I IN (C:\TEST\123.TXT) DO (
IF EXIST %%I COPY %%I D:\BACKUP
)
- 2楼网友:一叶十三刺
- 2021-03-19 11:41
@echo off
set "filename=d:\filename.txt"
set "filedir=d:"
for /f "delims=" %%a in ('type "%filename%"') do (
for /f "delims=" %%b in ('dir /a-d/b/s %diledir%\%%a') do (
echo %%b
)
)
echo end...
pause
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯