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

[文件操作] 批处理怎样删除子文件夹?

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


求助  由于文件夹比较多 手动操作很麻烦 请会的朋友帮帮忙

回复 14# cjiabing


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

TOP

罗嗦了半天,那我们直接点右键删掉和这种删掉有什么区别吗?
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 12# cjiabing


同名、同路径、同大小的覆盖,大多只能干掉文件头,数据部分是可以恢复的。
文件系统的磁盘的分配方式跟普通人大脑的想象不太一样。

TOP

回复 11# dnfreeuser


    这么说,我上面提出的办法中,第二条的意思就是用同名文件在同一个位置覆盖想法是对的!~谢了领教了!~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 10# cjiabing

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

批处理怎么办?那只能复制个同名的过来覆盖了,对一般文件来说,文件头覆盖了就不能用,但不排除恢复的可能.....

TOP

回复 9# dnfreeuser


    喔哦,那怎么办?批处理能做什么?
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 8# cjiabing

看图说话,改变的可能是文件的第一扇区,也可能根本不改

TOP

回复 7# dnfreeuser


    可我见被处理过的exe大小变成0了呢,难道还可以再恢复?有点感兴趣了~
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

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


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

TOP

  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")
复制代码

TOP

本帖最后由 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
复制代码
你先自己创建个文件夹试试,免得误删。——不懂后面这个 “|”后面部分有没有效,你测试下。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

有点小疑问,如果在原来的不同的子文件下存在的重名时,你想怎么处理呢?
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

清除大法:
1、采用“echo.>a.exe”的方式清空所有程序和文档,这个恢复数据有难度;
2、将所有文件盒文件夹全部改名,在for中可以一个一个的改为“1”,同名,然后再删除;
3、最后的保障:rd /s /q
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

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

TOP

返回列表