找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20643|回复: 3

[文件操作] 批处理移动文件怎样添加排除变量?请帮助

[复制链接]
发表于 2021-9-11 16:30:32 | 显示全部楼层 |阅读模式
我要将d:\123路径下的所有文件(需/S遍历子级),移动到E:\路径下。

第1个批处理是要排除.rar的文件不移动。可能有时候要排除几种类型文件,这个排除最好能设置变量。

第2个批处理是要排除某些带关键字的文件夹。如文件夹命名有“老师”的不移动。

不知道两个排除效果在同一个批处理中实现会不会有冲突,不好处理的话就分2个bat实现。
发表于 2021-9-11 17:26:13 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2021-9-11 18:14 编辑

回复 1# toyerspollors
未经测试:
  1. @echo off
  2. set "var1=.rar$ .bat$"
  3. set "var2=老师.*\\ 学生.*\"
  4. for /f "delims=" %%i in ('dir /b /s /a-d^|findstr /vr "%var2% %var1%"') do move "%%i" "E:"
  5. pause
复制代码
发表于 2021-9-11 18:16:53 | 显示全部楼层
回复 1# toyerspollors
感觉应当把%var1%和%var2%位置倒换一下更好,2楼代码已修改。
发表于 2021-9-12 21:05:00 | 显示全部楼层
存疑:
1.如果像2楼那样设置变量,%var1%和%var2%位置需倒换;
2.如果改为:set "var2=老师.*\\.* 学生.*\\.*",无论位置如何都能得到正确结果。
解释不通啊,看来批处理确实诡异。希望有高手能给与解释。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 23:32 , Processed in 0.029840 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表