标题: [文件操作] [已解决]批处理怎样删除指定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 去掉再运行就能删除要删除的文件夹了:- @echo off&setlocal enabledelayedexpansion
- 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 (
- if exist %%a:\nul (
- for /f "delims=" %%b in ('dir /ad /b /s %%a:\users 2^>nul') do (
- set "str=%%b"
- if "!str:qq\users=!" neq "!str!" (
- for /f "delims=" %%b in ('dir /ad /b "!str!"') do (
- if /i "%%b" neq "all users" (
- set /a n+=1
- set "_!n!=%%b"&set ".!n!=!str!"
- )
- )
- )
- )
- )
- )
- :lp
- cls&set "select="
- for /l %%a in (1,1,%n%) do echo %%a: !_%%a!
- set /p select=请输入要删除的文件夹序号:
- if not defined select goto lp
- if %select% geq 1 if %select% leq %n% goto next
- goto lp
- :next
- echo rd /s /q "!.%select%!\!_%select%!"
- pause>nul
复制代码
作者: vsax 时间: 2013-1-20 09:46
回复 2# batman
感谢batman的不吝赐教,有些地方还是不明白,回头自己研究。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |