Board logo

标题: [文件操作] [已解决]批处理怎样删除指定QQ下的号码文件夹? [打印本页]

作者: vsax    时间: 2013-1-19 18:58     标题: [已解决]批处理怎样删除指定QQ下的号码文件夹?

本帖最后由 vsax 于 2013-1-20 12:54 编辑

求助各位高手:怎样删除指定QQ下的号码文件夹下所有目录及子目录文件和文件夹?
例:在QQ文件夹下有123、456、789三个号码的文件夹。在其它分区里也有123、456、789文件夹。要删除的文件夹由用户指定。
用户指定了要删除的文件夹后,要确保删除的文件夹是QQ路径下的文件夹。不会误删其它分区的同名文件夹。
作者: batman    时间: 2013-1-19 20:55

本帖最后由 batman 于 2013-1-19 20:56 编辑

运行下面代码当显示正确时将倒数第二行的echo 去掉再运行就能删除要删除的文件夹了:
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  3.   if exist %%a:\nul (
  4.     for /f "delims=" %%b in ('dir /ad /b /s %%a:\users 2^>nul') do (
  5.       set "str=%%b"
  6.       if "!str:qq\users=!" neq "!str!" (
  7.         for /f "delims=" %%b in ('dir /ad /b "!str!"') do (
  8.           if /i "%%b" neq "all users" (
  9.             set /a n+=1
  10.             set "_!n!=%%b"&set ".!n!=!str!"
  11.           )
  12.         )
  13.       )
  14.     )
  15.   )
  16. )
  17. :lp
  18. cls&set "select="
  19. for /l %%a in (1,1,%n%) do echo %%a: !_%%a!
  20. set /p select=请输入要删除的文件夹序号:
  21. if not defined select goto lp
  22. if %select% geq 1 if %select% leq %n% goto next
  23. goto lp
  24. :next
  25. echo rd /s /q "!.%select%!\!_%select%!"
  26. pause>nul
复制代码

作者: vsax    时间: 2013-1-20 09:46

回复 2# batman
感谢batman的不吝赐教,有些地方还是不明白,回头自己研究。




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