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

[文件操作] 批处理怎么批量删除3级甚至4级的子文件夹?

我有一个总文件夹叫AA  下面大概有上千多个二级子文件夹      有些二级子文件夹下有很多的三级甚至4级的子文件夹

我想把三级甚至4级的子文件夹的内容剪切到二级子目录下  然后删除三级和四级的子文件夹

能够保证无重复文件   请会的朋友帮帮忙~

还好楼主是要移动文件夹,如果是要求复制文件夹那就惨了的
  1. @echo off
  2. for /d %%a in (*) do (
  3.    for /d %%b in ("%%a\*") do (
  4.       for /d %%c in ("%%b\*") do move "%%c" "%%a\"
  5.       move "%%b" "%%a\"
  6.    )
  7. )
复制代码

TOP

回复 1# necnec1


    回复楼主 你的那个批处理好像直接就把三级四级子目录下的文件夹全部复制到二级子目录下了

举个例子
C:\AA\BB\12\1.TXT
C:\AA\BB\34\2.TXT       变成 C:\AA\BB\1.TXT和 2.TXT

C:\AA\CC\56\1.TXT
C:\AA\CC\78\2.TXT       变成  C:\AA\CC\1.TXT和2.TXT

我只要把12 34这个三级子目录下的文件剪切到 BB这个二级子目录下     
         56 78这个三级子目录下的文件剪切到CC这个二级子目录下
个别目录 有可能会有四级文件夹

TOP

我以为你在顶楼说的是文件夹...
  1. @echo off
  2. for /d %%a in (*) do (
  3.    for /d %%b in ("%%a\*") do (
  4.       for /d %%c in ("%%b\*") do move "%%c\*.*" "%%a\"
  5.       move "%%b\*.*" "%%a\"
  6.       rd /s /q "%%b"
  7.    )
  8. )
复制代码

TOP

  1. @echo off
  2. set "pth=C:\AA\"
  3. pushd "%pth%"
  4. for /f "delims=" %%a in ('dir /ad /b "*.*"') do (
  5.      pushd "%%a\"
  6.      for /f "delims=" %%b in ('dir /a-d /b /s *.*') do move/y "%%b" "%pth%%%a\">nul
  7.      popd
  8. )
  9. for /f "delims=" %%a in ('dir /ad /b /s %pth% ^|sort /r') do rd "%%a" 2>nul
复制代码

TOP

回复 3# necnec1


亲,“楼主”是你自己。

TOP

返回列表