标题: [文件操作] 批处理如何判断文件夹及移动文件夹 [打印本页]
作者: pangqijun 时间: 2015-3-16 09:30 标题: 批处理如何判断文件夹及移动文件夹
大家好,有这么一个问题想请教大家:
我单位有一台电脑专门用作共享使用,局域网内地址是 \\192.168.1.165\d,大家很随意地创建文件夹和文件,弄得论七八糟的,我想弄一个批处理命令,实现如下功能:
1. 判断文件夹不是 "各年材料" 或者 "个人材料" 或者 "其他材料",那么就将这个文件夹移至 "其他材料"
2. 判断快捷方式不是 "2014年文件.lnk" 或者 "2015年文件.lnk" 或者 "2015年相片.lnk" 或者 "FindIt.lnk",那么就将这个快捷方式移至 "其他材料"
3. 将其他文件移至 "其他材料", 如word文档,excel文件,照片,PDF等等之类
作者: DAIC 时间: 2015-3-16 09:39
本帖最后由 DAIC 于 2015-3-16 14:17 编辑
- @echo off
- net use Z: \\192.168.1.165\D$
- cd /d Z:\
-
- move /y "各年材料" "其他材料"
- move /y "个人材料" "其他材料"
-
- move /y "2014年文件.lnk" "其他材料"
- move /y "2015年文件.lnk" "其他材料"
- move /y "2015年相片.lnk" "其他材料"
- move /y "FindIt.lnk" "其他材料"
-
- move /y "*.doc" "其他材料"
- move /y "*.xls" "其他材料"
- move /y "*.pdf" "其他材料"
-
- net use Z: /delete
复制代码
作者: pcl_test 时间: 2015-3-16 12:55
本帖最后由 pcl_test 于 2015-3-16 12:59 编辑
回复 1# pangqijun - @echo off
- net use Y: \\192.168.1.165\d
- ::上一句如果有指定用户和密码,则改为net use Y: \\192.168.1.165\d "密码" /user:"用户名"
- cd /d Y:\
- for /f "delims=" %%a in ('dir /ad /b') do (
- if "%%a" neq "个人材料" if "%%a" neq "各年材料" if "%%a" neq "其他材料" (move "%%a" "其他材料\")
- )
- for /f "delims=" %%b in ('dir /a-d /b') do (
- if "%%~nxb" neq "2014年文件.lnk" if "%%~nxb" neq "2015年文件.lnk" if "%%~nxb" neq "2015年相片.lnk" if "%%~nxb" neq "FindIt.lnk" (move "%%~nxb" "其他材料\")
- )
- net use Y: /del /y
- pause
复制代码
作者: pangqijun 时间: 2015-3-16 14:42
回复 3# pcl_test
谢谢! 感觉这是我需求的代码,我去验证后再来回帖! 谢谢
作者: pcl_test 时间: 2015-3-16 18:45
回复 4# pangqijun
问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
作者: pangqijun 时间: 2015-4-3 10:46
回复 3# pcl_test
失败了。。。
if "%%a" neq "个人材料" if "%%a" neq "各年材料" if "%%a" neq "其他材料" (move "%%a" "其他材料\")
这个IF语句是不是有问题呢? 感觉 if "%%a" neq "个人材料" 不管是否成立,都会接着运行下一个IF语句。
作者: pcl_test 时间: 2015-4-3 10:54
回复 6# pangqijun
提示什么?三个if neq就是判断%%a是否满足你所说的”1. 判断文件夹不是 "各年材料" 或者 "个人材料" 或者 "其他材料",那么就将这个文件夹移至 "其他材料"“
作者: DAIC 时间: 2015-4-3 13:04
回复 6# pangqijun
我感觉你的感觉是不对的
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |