标题: 批处理怎样删除带有特定符号的文件夹? [打印本页]
作者: peterwu999 时间: 2011-1-9 19:32 标题: 批处理怎样删除带有特定符号的文件夹?
WINDOWS更新後留存的暫存資料夾想要用批處理刪除,
我剛開始學習批處理,
所以只能做笨功夫,寫了下面一段,
- @echo offsetlocal enabledelayedexpansion
- 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
- for %%a in (%lo%) do (
- @dir /a:d /b /s %%a:\*.tmp
- @dir /a:d /b /s %%a:\_*_
- )>>c:\t_emp\temp.txt 2>nul
- for /f %%b in (c:\t_emp\temp.txt) do @rd /s /q %%b 1>nul 2>nul
- @del /f /q /a /s c:\t_emp\temp.txt 1>nul 2>nul
复制代码
目的是刪除????.tmp和_?????_這2種資料夾,
希望先進能提點在下如何能夠再精簡代碼,
如果能先行確認有特定符號的存在再刪除就更加理想。
[ 本帖最后由 peterwu999 于 2011-1-10 23:28 编辑 ]
作者: temp 时间: 2011-1-9 19:45
繁体字看懂了,代码不精通,一起等高手
作者: tmplinshi 时间: 2011-1-9 20:13
不删除含隐藏属性的文件夹:- @echo off
- 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
- for %%d in (%drives%) do (
- if exist %%d: (
- cd /d %%d:\
- for /r /d %%a in (*.tmp _*_) do rd /s /q "%%a"
- )
- )
复制代码
没有限制:- @echo off
- 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
- for %%d in (%drives%) do (
- for /f "delims=" %%a in ('dir /a:d /b /s %%d:\*.tmp %%d:\_*_') do (
- rd /s /q "%%a"
- )
- ) 2>nul
复制代码
第一个代码会比第二个快,但不会删除含隐藏属性的文件夹。
作者: peterwu999 时间: 2011-1-10 17:24
多謝tmplinshi版主的指點,額外多收穫了一些觀念,謝謝!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |