标题: [文件操作] 批处理移动文件怎样添加排除变量?请帮助 [打印本页]
作者: toyerspollors 时间: 2021-9-11 16:30 标题: 批处理移动文件怎样添加排除变量?请帮助
我要将d:\123路径下的所有文件(需/S遍历子级),移动到E:\路径下。
第1个批处理是要排除.rar的文件不移动。可能有时候要排除几种类型文件,这个排除最好能设置变量。
第2个批处理是要排除某些带关键字的文件夹。如文件夹命名有“老师”的不移动。
不知道两个排除效果在同一个批处理中实现会不会有冲突,不好处理的话就分2个bat实现。
作者: qixiaobin0715 时间: 2021-9-11 17:26
本帖最后由 qixiaobin0715 于 2021-9-11 18:14 编辑
回复 1# toyerspollors
未经测试:- @echo off
- set "var1=.rar$ .bat$"
- set "var2=老师.*\\ 学生.*\\"
- for /f "delims=" %%i in ('dir /b /s /a-d^|findstr /vr "%var2% %var1%"') do move "%%i" "E:\"
- pause
复制代码
作者: qixiaobin0715 时间: 2021-9-11 18:16
回复 1# toyerspollors
感觉应当把%var1%和%var2%位置倒换一下更好,2楼代码已修改。
作者: qixiaobin0715 时间: 2021-9-12 21:05
存疑:
1.如果像2楼那样设置变量,%var1%和%var2%位置需倒换;
2.如果改为:set "var2=老师.*\\.* 学生.*\\.*",无论位置如何都能得到正确结果。
解释不通啊,看来批处理确实诡异。希望有高手能给与解释。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |