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

[文件操作] [已解决]批处理如果删除所有盘下面的指定目录?

  1. for %%a in (c d e f g h i j k l m n o p q r s t) do (
  2. for /f "Delims=" %%i in ('dir /b "%%a:\FOUND*"') do ( rd /s /q "%%i")
  3. )
复制代码
如何修改这个批处理命令,

实现删除所有盘下面的,所有FOUND.000 FOUND.001 FOUND.002 FOUND.003 ....一直到FOUND.049等等这么多目录?

最好只修改循环里面的代码。谢谢
for /f "Delims=" %%i in ('dir /b "%%a:\FOUND*"') do ( rd /s /q "%%i")
1

评分人数

    • tmplinshi: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. for %%a in (c d e f g h i j k l m n o p q r s t) do (
  3.     for /f "delims=" %%i in ('dir /b /a:d %%a:\FOUND.*') do (
  4.         rd /s /q "%%a:\%%i"
  5.     )
  6. ) 2>nul
复制代码

TOP

多谢楼上。

代码可以运行。

TOP

本帖最后由 ygqiang 于 2011-6-17 19:37 编辑
  1. for /f "skip=1 delims=" %%a in ('Wmic LogicalDisk Where "DriveType='2' and SupportsDiskQuotas='FALSE'" Get DeviceID') do call :s1 %%a
  2. for /f "skip=1 delims=" %%a in ('Wmic LogicalDisk Where "DriveType='3'" Get DeviceID') do call :s1 %%a
  3. :s1
  4. if "%~1"=="" goto:eof
  5. if exist "%1\FOUND.000" rd /s /q "%1\FOUND.000" >nul 2>nul
  6. cls
  7. if exist "%1\FOUND.001" rd /s /q "%1\FOUND.001" >nul 2>nul
  8. cls
  9. if exist "%1\FOUND.002" rd /s /q "%1\FOUND.002" >nul 2>nul
  10. cls
  11. if exist "%1\FOUND.003" rd /s /q "%1\FOUND.003" >nul 2>nul
复制代码
类似这种代码,应该如何修改呢?

TOP

你要说下你想要处理成什么结果。

楼上代码中的删除文件操作时多余的,直接删除文件夹即可;
直接判断 c d e f g h i j k l m n o p q r s t 这些盘符,比 wmic 的方法好;

TOP

就是想看看,用wmic这个方法,如何实现?

TOP

这样?
  1. for /f "skip=1 delims=" %%a in ('Wmic LogicalDisk Where "DriveType='2' and SupportsDiskQuotas='FALSE'" Get DeviceID') do call :s1 %%a
  2. for /f "skip=1 delims=" %%a in ('Wmic LogicalDisk Where "DriveType='3'" Get DeviceID') do call :s1 %%a
  3. :s1
  4. for /f "delims=" %%i in ('dir /b /a:d %1\FOUND.* 2^>nul') do (
  5.     rd /s /q "%1\%%i"
  6. )
  7. goto :eof
复制代码

TOP

嗯。多谢斑竹。

以上代码可以运行。

TOP

返回列表