Board logo

标题: [文件操作] 批处理批量移动文件夹到上一层目录的问题 [打印本页]

作者: wxfkid    时间: 2021-4-7 20:44     标题: 批处理批量移动文件夹到上一层目录的问题

一个文件夹a,下面有很多子文件夹1,2,3,4...........,我想把1,2,3,4...........下面的内容(不论是文件夹还是文件,不改变它的结构,直接向上移动一层)批量移动到a下面,有高手能给写个批处理吗?谢谢
作者: qixiaobin0715    时间: 2021-4-7 21:31

本帖最后由 qixiaobin0715 于 2021-4-7 22:39 编辑

未测试。
  1. @echo off
  2. for /d %%a in (*) do (
  3.     pushd %%a
  4.     for /d %%b in (*) do move "%%b" "%~dp0"
  5.     move *.* "%~dp0"
  6.     popd
  7. )
  8. pause
复制代码

作者: Batcher    时间: 2021-4-7 21:41

回复 1# wxfkid


test.bat 放在 a 文件夹下执行
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /ad') do (
  4.     pushd "%%i"
  5.     for /f "delims=" %%j in ('dir /b /ad') do (
  6.         move "%%j" ..
  7.     )
  8.     move *.* ..
  9.     popd
  10. )
复制代码

作者: Batcher    时间: 2021-4-7 21:42

回复 2# qixiaobin0715


    第5行的for循环简化成一个move命令即可
作者: qixiaobin0715    时间: 2021-4-7 22:33

回复 4# Batcher
老想着for搜索文件,把最基本的命令忘到脑后了。谢谢指点!!!
作者: wxfkid    时间: 2021-4-7 23:00

谢谢两位热心人




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