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

批处理怎样删除带有特定符号的文件夹?

WINDOWS更新後留存的暫存資料夾想要用批處理刪除,

我剛開始學習批處理,

所以只能做笨功夫,寫了下面一段,
  1. @echo offsetlocal enabledelayedexpansion
  2. set lo= c d e f g h i j k l m n o p q r s t u v w x y z
  3. for %%a in (%lo%) do (
  4. @dir /a:d /b /s %%a:\*.tmp
  5. @dir /a:d /b /s %%a:\_*_
  6. )>>c:\t_emp\temp.txt 2>nul
  7. for /f %%b in (c:\t_emp\temp.txt) do @rd /s /q %%b 1>nul 2>nul
  8. @del /f /q /a /s c:\t_emp\temp.txt 1>nul 2>nul
复制代码


目的是刪除????.tmp和_?????_這2種資料夾,

希望先進能提點在下如何能夠再精簡代碼,

如果能先行確認有特定符號的存在再刪除就更加理想。

[ 本帖最后由 peterwu999 于 2011-1-10 23:28 编辑 ]

多謝tmplinshi版主的指點,額外多收穫了一些觀念,謝謝!

TOP

不删除含隐藏属性的文件夹:
  1. @echo off
  2. set drives=c d e f g h i j k l m n o p q r s t u v w x y z
  3. for %%d in (%drives%) do (
  4.     if exist %%d: (
  5.         cd /d %%d:\
  6.         for /r /d %%a in (*.tmp _*_) do rd /s /q "%%a"
  7.     )
  8. )
复制代码
没有限制:
  1. @echo off
  2. set drives=c d e f g h i j k l m n o p q r s t u v w x y z
  3. for %%d in (%drives%) do (
  4.     for /f "delims=" %%a in ('dir /a:d /b /s %%d:\*.tmp %%d:\_*_') do (
  5.         rd /s /q "%%a"
  6.     )
  7. ) 2>nul
复制代码
第一个代码会比第二个快,但不会删除含隐藏属性的文件夹。
1

评分人数

TOP

繁体字看懂了,代码不精通,一起等高手

TOP

返回列表