Board logo

标题: [文件操作] [已解决]批处理怎么把文件从子目录移动到上一级目录? [打印本页]

作者: gm8800    时间: 2015-3-2 23:22     标题: [已解决]批处理怎么把文件从子目录移动到上一级目录?

本帖最后由 gm8800 于 2015-3-17 13:44 编辑

X:\DDDD\XXXXX\111\BBB\文件名\文件名.zip
X:\DDDD\XXXXX\111\BBB\中国\中国.zip
X:\DDDD\XXXXX\123abc\BBB\ABCABC123123\ABCABC123123.zip
X:\DDDD\XXXXX\123abc\BBB\888888\888888.zip

怎么把文件移动到上一级目录,然后再把存放他的目录删除(这个好实现,就删除空文件夹就可以了)做好之后是下面这样
X:\DDDD\XXXXX\111\BBB\文件名.zip
X:\DDDD\XXXXX\111\BBB\中国.zip
X:\DDDD\XXXXX\123abc\BBB\ABCABC123123.zip
X:\DDDD\XXXXX\123abc\BBB\888888.zip

作者: pcl_test    时间: 2015-3-2 23:42

本帖最后由 pcl_test 于 2016-11-19 17:05 编辑

回复 1# gm8800
  1. @echo off
  2. for /f "delims=" %%i in ('dir /s/b/a-d') do (
  3. if "%%~nxi"=="%~nx0" (echo bat本身不执行移动) else (move "%%i" "%%~dpi./..")
  4. )
  5. for /f "tokens=*" %%a in ('dir /b /ad /s^|sort /r') do (rd "%%a" 2>nul)
  6. echo 移动完成……
  7. pause
复制代码

作者: gm8800    时间: 2015-3-2 23:49

回复 2# pcl_test


    这个批处理是不是必须放在X:\DDDD\XXXXX\目录下运行才可以?
作者: pcl_test    时间: 2015-3-2 23:58

本帖最后由 pcl_test 于 2016-11-19 17:02 编辑

回复 3# gm8800
直接在要移动的子文件夹里运行,如你要将X:\DDDD\XXXXX\111\BBB\文件名\文件名.zip移动到X:\DDDD\XXXXX\111\BBB\,那么把批处理放到X:\DDDD\XXXXX\111\BBB\里运行
作者: gm8800    时间: 2015-3-3 00:24

回复 4# pcl_test


    我放在X:\DDDD\XXXXX\目录下运行,全乱套了:'( 该移动的不该移动全移动了
作者: qw8334936    时间: 2015-3-3 04:18

你运行 cmd 输入 cd. cd..   cd/就知道怎么回事了
作者: qw8334936    时间: 2015-3-3 04:19

回复 2# pcl_test


"%%~dpi./.."你把这里设置对了就好了




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2