[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何判断文件夹及移动文件夹

大家好,有这么一个问题想请教大家:
我单位有一台电脑专门用作共享使用,局域网内地址是 \\192.168.1.165\d,大家很随意地创建文件夹和文件,弄得论七八糟的,我想弄一个批处理命令,实现如下功能:
1. 判断文件夹不是 "各年材料" 或者 "个人材料" 或者 "其他材料",那么就将这个文件夹移至 "其他材料"
2. 判断快捷方式不是 "2014年文件.lnk" 或者 "2015年文件.lnk" 或者 "2015年相片.lnk" 或者 "FindIt.lnk",那么就将这个快捷方式移至 "其他材料"
3. 将其他文件移至 "其他材料", 如word文档,excel文件,照片,PDF等等之类

本帖最后由 DAIC 于 2015-3-16 14:17 编辑
  1. @echo off
  2. net use Z: \\192.168.1.165\D$
  3. cd /d Z:\
  4. move /y "各年材料" "其他材料"
  5. move /y "个人材料" "其他材料"
  6. move /y "2014年文件.lnk" "其他材料"
  7. move /y "2015年文件.lnk" "其他材料"
  8. move /y "2015年相片.lnk" "其他材料"
  9. move /y "FindIt.lnk" "其他材料"
  10. move /y "*.doc" "其他材料"
  11. move /y "*.xls" "其他材料"
  12. move /y "*.pdf" "其他材料"
  13. net use Z: /delete
复制代码

TOP

本帖最后由 pcl_test 于 2015-3-16 12:59 编辑

回复 1# pangqijun
  1. @echo off
  2. net use Y: \\192.168.1.165\d
  3. ::上一句如果有指定用户和密码,则改为net use Y: \\192.168.1.165\d "密码" /user:"用户名"
  4. cd /d Y:\
  5. for /f "delims=" %%a in ('dir /ad /b') do (
  6. if "%%a" neq "个人材料" if "%%a" neq "各年材料" if "%%a" neq "其他材料" (move "%%a" "其他材料\")
  7. )
  8. for /f "delims=" %%b in ('dir /a-d /b') do (
  9. if "%%~nxb" neq "2014年文件.lnk" if "%%~nxb" neq "2015年文件.lnk" if "%%~nxb" neq "2015年相片.lnk" if "%%~nxb" neq "FindIt.lnk" (move "%%~nxb" "其他材料\")
  10. )
  11. net use Y: /del /y
  12. pause
复制代码

TOP

回复 3# pcl_test


    谢谢! 感觉这是我需求的代码,我去验证后再来回帖! 谢谢

TOP

回复 4# pangqijun
问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html

TOP

回复 3# pcl_test

失败了。。。

    if "%%a" neq "个人材料" if "%%a" neq "各年材料" if "%%a" neq "其他材料" (move "%%a" "其他材料\")

这个IF语句是不是有问题呢?  感觉 if "%%a" neq "个人材料" 不管是否成立,都会接着运行下一个IF语句。

TOP

回复 6# pangqijun
提示什么?三个if neq就是判断%%a是否满足你所说的”1. 判断文件夹不是 "各年材料" 或者 "个人材料" 或者 "其他材料",那么就将这个文件夹移至 "其他材料"“

TOP

回复 6# pangqijun


    我感觉你的感觉是不对的

TOP

返回列表