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

[文件操作] bathome比赛题第一题

本帖最后由 林小七 于 2013-8-27 13:33 编辑

好久没搞P处理了~突然发现有比赛题,就顺手写了个~觉得个人P处理不会再进步了~还是那个烂水平~
拿出来分享下~由于不活跃,等级低~~不能再别的版区发帖~顺便问下我这个好像没递归~~
不管了~反正xp下是删除了bathome~睡觉去了~~
  1. @echo off &&title  XSeven By Seven
  2. ::1、删除文件夹 D:\BatHome
  3. ::注意:
  4. ::(1)该文件夹下面包含文件和子文件夹
  5. ::(2)可以使用 rd 或 rmdir 命令,但是不允许使用它们的 /s 选项
  6. ::(3)需要在程序中模拟 rd /s 的递归删除功能
  7. ::                                                 By :Seven
  8. if not exist d:\bathome goto eofs
  9. rd d:\bathome
  10. if not %errorlevel% equ 0 goto dels else goto eofs
  11. :dels
  12. for /d /r "d:\bathome" %%s in (*) do @echo %%s>>file.temp
  13. for /f "delims=" %%a in ('sort /r^<file.temp') do (
  14.       del /f /s /q "%%a\*" 2>nul>>delfile.txt
  15.       rd "%%a" 2>nul>nul
  16.       )
  17. del /f /q /s d:\bathome\*  2>nul>nul
  18. rd d:\bathome>2nul>nul
  19. del /f /s /q file.temp>nul 2>nul
  20. :eofs
  21. @echo.删除完成&&pause>nul&&exit
复制代码
活着就是为了改变世界

本帖最后由 xpw 于 2013-8-27 20:13 编辑
  1. @echo off
  2. ::删除所有文件
  3. del /a /f /s /q D:\BatHome\*.* >nul
  4. ::删除所有子目录
  5. for /f "delims=" %%a in ('dir /ad /s /b D:\BatHome^|sort /r')do (
  6. attrib -s -h -r "%%a"&rd "%%a")
  7. ::删除父目录
  8. attrib -s -h -r D:\BatHome&rd D:\BatHome
  9. pause>nul
复制代码

感觉我的就一条命令一条命令拼接起来的样子

TOP

  1. @ECHO OFF
  2. CALL :CLEARDIR D:\BatHome
  3. PAUSE
  4. EXIT /B
  5. ::-------------------------------------------------------------------------------
  6. :CLEARDIR
  7. FOR /F %%a IN ('DIR %1 /AD /B') DO (
  8. ::判断目录下是否包含目录,包含子目录回调CLEARDIR
  9. DIR %1\%%a /AD /B|FIND /V "*">NUL&&CALL :CLEARDIR %1\%%a SUBDIR
  10. ECHO 删除目录文件:%1\%%a
  11. DEL %1\%%a /F/Q >NUL 2>NUL
  12. RD %1\%%a >NUL 2>NUL
  13. )
  14. ::由上层调用删除
  15. IF DEFINED %%2 EXIT /B
  16. ::删除自身目录
  17. DEL %1 /Q >NUL 2>NUL
  18. RD %1 >NUL 2>NUL
  19. EXIT /B
  20. :_CLEARDIR
复制代码
模拟递归

TOP

回复 2# xpw

不让用dir的s参数
活着就是为了改变世界

TOP

回复 3# ADSL0125


    果然递归,,,,,膜拜,学习
活着就是为了改变世界

TOP

返回列表