Board logo

标题: [文件操作] 批处理怎样删除子文件夹? [打印本页]

作者: necnec1    时间: 2012-2-24 19:24     标题: 批处理怎样删除子文件夹?

一个总文件夹里 有N个子文件夹  怎么样才能把子文件夹删除 把里面的文件全部放到总文件夹里来呢?


求助  由于文件夹比较多 手动操作很麻烦 请会的朋友帮帮忙
作者: find    时间: 2012-2-24 20:37

  1. @echo off
  2. for /d %%a in ("C:\test\*.*") do (
  3.     move /y "%%a\*.*" "%%~dpa"
  4.     rd /s /q "%%a"
  5. )
复制代码

作者: cjiabing    时间: 2012-2-24 23:11

清除大法:
1、采用“echo.>a.exe”的方式清空所有程序和文档,这个恢复数据有难度;
2、将所有文件盒文件夹全部改名,在for中可以一个一个的改为“1”,同名,然后再删除;
3、最后的保障:rd /s /q
作者: wc726842270    时间: 2012-2-24 23:38

有点小疑问,如果在原来的不同的子文件下存在的重名时,你想怎么处理呢?
作者: cjiabing    时间: 2012-2-24 23:53

本帖最后由 cjiabing 于 2012-2-24 23:57 编辑

楼主的意思是这样的:
假如要处理的是D:\TEST
假如把总文件夹下所有子文件夹的文件全部拷到   E:\_TEST  文件夹下:
  1. @echo off
  2. md  E:\_TEST
  3. for /f "tokens=*" %%a in ('dir /b /s D:\TEST\*.* ') do if not  %%a==%0 (
  4. copy %%a E:\_TEST |copy %%a  E:\_TEST\Re_%%~na.%%~xa
  5. )
  6. rd /s /q D:\TEST
  7. start "" E:\_TEST
复制代码
你先自己创建个文件夹试试,免得误删。——不懂后面这个 “|”后面部分有没有效,你测试下。
作者: wangxiaodong    时间: 2012-2-25 12:51

  1. for /f "delims=" %%a in ('dir c:\test /s /a-d /b') do (
  2. move/y "%%a" "c:\test"
  3. )
  4. for /f "delims=" %%b in ('dir c:\test /s /ad /b') do (
  5. rd /s /q "%%b")
复制代码

作者: dnfreeuser    时间: 2012-2-25 12:58

清除大法:
1、采用“echo.>a.exe”的方式清空所有程序和文档,这个恢复数据有难度;
2、将所有文件盒文件 ...
cjiabing 发表于 2012-2-24 23:11


echo.>a.exe 并不会清空文件全部内容
改名在fat下对数据恢复没增加任何难度,ntfs下也有log可以查询操作记录
作者: cjiabing    时间: 2012-2-25 15:02

回复 7# dnfreeuser


    可我见被处理过的exe大小变成0了呢,难道还可以再恢复?有点感兴趣了~
作者: dnfreeuser    时间: 2012-2-25 21:09

回复 8# cjiabing

看图说话,改变的可能是文件的第一扇区,也可能根本不改
作者: cjiabing    时间: 2012-2-25 21:16

回复 9# dnfreeuser


    喔哦,那怎么办?批处理能做什么?
作者: dnfreeuser    时间: 2012-2-25 21:30

回复 10# cjiabing

同等大小(或小于1个扇区内)覆盖应该可以,反正远小于原大小是不可能全部覆盖的
重命名对fat来说,更提高了恢复的概率(为什么?因为重命名后原文件名在目录项仍存在,而且删除会清高位簇,改名字不会.)

批处理怎么办?那只能复制个同名的过来覆盖了,对一般文件来说,文件头覆盖了就不能用,但不排除恢复的可能.....
作者: cjiabing    时间: 2012-2-25 21:43

回复 11# dnfreeuser


    这么说,我上面提出的办法中,第二条的意思就是用同名文件在同一个位置覆盖想法是对的!~谢了领教了!~
作者: find    时间: 2012-2-25 22:44

回复 12# cjiabing


同名、同路径、同大小的覆盖,大多只能干掉文件头,数据部分是可以恢复的。
文件系统的磁盘的分配方式跟普通人大脑的想象不太一样。
作者: cjiabing    时间: 2012-2-25 23:16

罗嗦了半天,那我们直接点右键删掉和这种删掉有什么区别吗?
作者: find    时间: 2012-2-25 23:40

回复 14# cjiabing


有一点点
但是从数据恢复的角度来考虑,差别不大。




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