标题: [文件操作] 求助批处理匹配关键字+复制+输出语句 [打印本页]
作者: soykoa 时间: 2021-9-15 03:55 标题: 求助批处理匹配关键字+复制+输出语句
求帮助:
在网上找了2个代码,但组合不到一起,愁死人了- cd /d E:\123\
- for /f "delims=" %%a in ('dir /a-d/s/b^|findstr /r "中国"') do xcopy /d /y /e "%%a" "D:\456\"
复制代码
- @Tasklist|查找并复制成功&&Echo 已经复制包含关键字“中国”的文件||Echo ★★☆☆没有查到相关文件!☆☆★★
复制代码
主要想实现的功能是:在某个指定的文件夹里查找包含某个关键词的文件,然后复制到另一个文件夹,复制成功就打印:“已经复制包含关键字“中国”的文件”,,,如果没找到文件就打印:“没有查到相关文件!”
请大神们帮帮忙,谢谢!
作者: qixiaobin0715 时间: 2021-9-15 06:41
回复 1# soykoa
dir找不到文件会自动提示;
copy复制成功也会提示。
所以不需特意输出语句:- @echo off
- cd /d E:\123
- for /f "delims=" %%a in ('dir /b /s /a-d *中国*') do copy "%%a" "D:\456"
- pause
复制代码
作者: hlzj88 时间: 2021-9-15 07:24
- @echo off&&setlocal enabledelayedexpansion
- set p=0
- cd /d E:\123\
- for /f "delims=" %%a in ('dir /a-d/b *') do findstr /r "中国" %%a&&set /a p+=1&&xcopy /d /y /e "%%a" "D:\456\"
- if !p! geq 1 (echo 找到!p!个) else (echo 没有找到)
- pause
复制代码
没有经过严格测试。
作者: qixiaobin0715 时间: 2021-9-15 10:06
你说的关键词是在文件名中还是文件中?
作者: Fit 时间: 2021-9-15 10:24
去掉DIR 的/b 试试
作者: soykoa 时间: 2021-9-15 11:57
回复 4# qixiaobin0715
是文件名,,,,在文件名中匹配关键字,查找文件,
作者: qixiaobin0715 时间: 2021-9-15 12:14
回复 6# soykoa
上面代码不行吗?
作者: qixiaobin0715 时间: 2021-9-15 12:20
不能用dir /s+findstr。如果路径文件夹中含有关键字也会被复制。
作者: soykoa 时间: 2021-9-15 12:34
回复 7# qixiaobin0715
你的代码是对的,,,,测试过,,,,我主要是不想打印系统复制成功默认输出的结果,匹配的文件太多后,,,满屏全是“已复制 1个文件。”
想看看有没有什么办法,复制成功了,,,就打印A:共复制N个文件,,,没找到文件就打印B
作者: soykoa 时间: 2021-9-15 13:05
基本可以了,老师,,感谢,,,还有个小问题,,,如果我用xcopy /d /y /e 每次都会提示复制13个文件,,,实际上是复制了13个吗? xcopy /d,,,是增量复制,,,,文件我没有修改过,,,每次增量复制还是会提示搜索到的13个文件,,,他这里的“复制13个文件”,,,是说执行了13次吗?
作者: soykoa 时间: 2021-9-15 13:05
主要是需要增量复制
作者: qixiaobin0715 时间: 2021-9-15 14:34
回复 12# soykoa
没有研究过xcopy命令,不用for,直接复制不行吗:- xcopy /d /y /e E:\123\*中国*.* D:\456
复制代码
作者: qixiaobin0715 时间: 2021-9-15 14:52
用for感觉是多此一举。
作者: qixiaobin0715 时间: 2021-9-15 15:41
回复 11# soykoa
还是要谢谢你,让我去认认真真的把xcopy命令研究了一番。
作者: soykoa 时间: 2021-9-15 16:24
直接用copy,,,全部要覆盖一次,,,,xcopy /d ,可以增量复制,,,没有修改过的文件,,日期相同,,就会忽略掉,不复制,,,挺方便的
作者: soykoa 时间: 2021-9-15 16:25
回复 12# qixiaobin0715
这样弄,每复制一个文件,就有一个提示,,,没有增量复制,还是有提示,,,文件多了后,,满屏全是提示
作者: qixiaobin0715 时间: 2021-9-15 16:37
回复 16# soykoa
已经加上参数/d,应当没问题啊。
那就在代码后面加上:>nul 屏蔽复制信息。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |