楼 主
[已解决]---cmd 如何搜索硬盘上“Temp”的文件夹
发表于 2008-02-03 12:03 · 中国 天津 电信
中级用户
★★
积分 310 发帖 97 注册 2004-05-26 00:00 22年会员 UID 25372 性别 男
状态 离线
如何搜索全部硬盘上的名为“Temp”的文件夹,并全部删除里面的文件(不删除“Temp”文件夹?
谢谢
[ Last edited by shawell518 on 2008-2-6 at 08:02 PM ]
第 2 楼
发表于 2008-02-03 12:18 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278 发帖 1,020 注册 2007-11-19 13:34 18年会员 UID 103127 性别 男
状态 离线
你都是老用户了,
for + if +del /a/q/s name
第 3 楼
发表于 2008-02-03 14:53 · 中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493 发帖 2,315 注册 2006-05-01 10:41 20年会员 UID 54766 性别 男 来自 上海
状态 离线
@echo off
setlocal enabledelayedexpansion
for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
set var=%%i
set drive=!var:~-2!
fsutil fsinfo drivetype !drive!|find "固定">nul && for /f "delims=" %%a in ('dir /s/b !drive!\name\* 2^>nul') do rd /s /q "%%a" 2>nul||del /q/f/a "%%a" 2>nul
)
pause
第 4 楼
发表于 2008-02-03 17:48 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278 发帖 1,020 注册 2007-11-19 13:34 18年会员 UID 103127 性别 男
状态 离线
呵呵,那我只好也凑个热闹了,我这个还简短,通用性也强:
set drives=c: d: e: f: g: h: I: j: K: l: M:
set folder=name
cd\&for %%a in (%drives%) do (if exist %%a\ %%a&for /r %%b in (.) do del/a/q/s %%~dpb%folder%)
我想你的盘符不会超过M了,除非...,这个可能性很小.
第 5 楼
发表于 2008-02-03 18:44 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278 发帖 1,020 注册 2007-11-19 13:34 18年会员 UID 103127 性别 男
状态 离线
偶忘了给 del/a/q/s %%~dpb%folder% 后加个 2>nul,不过也没啥,显示信息你就当没看见.窗口最小化就是了,还嫌不爽你把它设为隐藏执行.
全盘枚举目录树可得花一些时间,
第 6 楼
发表于 2008-02-03 18:45 · 中国 江苏 徐州 电信
初级用户
★
积分 64 发帖 33 注册 2008-01-28 17:55 18年会员 UID 109721 性别 男
状态 离线
第 7 楼
发表于 2008-02-03 20:21 · 印度 马哈拉施特拉邦 孟买郊区县 腾讯云
中级用户
★★
积分 310 发帖 97 注册 2004-05-26 00:00 22年会员 UID 25372 性别 男
状态 离线
呵呵 高手啊
不过
我想把 Temp 及 Tmp 内的文件删除掉
换成 Temp 试了下,搜不到 Documents and Settings 内的 Temp 文件
用3楼的试了下,能搜索到根目录下的且能删除,但二级以上目录的搜不到
用4楼的试了下,搜索时间长了但不能删除其内文件
[ Last edited by shawell518 on 2008-2-3 at 08:24 PM ]
第 8 楼
发表于 2008-02-03 20:28 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278 发帖 1,020 注册 2007-11-19 13:34 18年会员 UID 103127 性别 男
状态 离线
那是因为路径c:\Documents and Settings有空格,加上双引号就好了.
这样行了吧:
@echo off
set folder=temp
set drives=c: d: e: f: g: h: I: j: K: l: M:
cd\&for %%a in (%drives%) do (if exist %%a\ %%a&for /r %%b in (.) do del/a/q/s "%%~dpb%folder%" 2>nul)
要隐藏执行话来这儿:开头就加上一句话.
http://www.cn-dos.net/forum/viewthread.php?tid=37090&fpage=1&highlight=
第 9 楼
发表于 2008-02-03 20:37 · 中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493 发帖 2,315 注册 2006-05-01 10:41 20年会员 UID 54766 性别 男 来自 上海
状态 离线
不是2级目录搜索不到,为用户考虑没处理包含系统属性的文件夹,自己改一下 dir /s/b换成dir /s/b/a
第 10 楼
发表于 2008-02-03 20:40 · 中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493 发帖 2,315 注册 2006-05-01 10:41 20年会员 UID 54766 性别 男 来自 上海
状态 离线
set drives=c: d: e: f: g: h: I: j: K: l: M:
这样访问光盘盘符可能存在不稳定的情况
第 11 楼
发表于 2008-02-03 21:16 · 中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278 发帖 1,020 注册 2007-11-19 13:34 18年会员 UID 103127 性别 男
状态 离线
第 12 楼
发表于 2008-02-03 21:26 · 印度 马哈拉施特拉邦 孟买郊区县 腾讯云
中级用户
★★
积分 310 发帖 97 注册 2004-05-26 00:00 22年会员 UID 25372 性别 男
状态 离线
谢谢8、9楼的高手
结合上面的两位,改进了一下,请指正(发现能很好地清除所有临时文件夹内的文件),经过测试,很好用,而且目录无论多深,也很容易找到:
--------------------------------------------------------------------------------------------------------
@echo off
color 0a
TITLE 正在清理系统临时文件,请稍侯。。。。
echo.
@echo. 正在清理系统临时文件,中国 dos 联盟 plp626、fastslz、shawell518
set folder=temp
set drives=c: d: e: f: g: h: I: j: K: l: M:
cd\&for %%a in (%drives%) do (if exist %%a\ %%a&for /r %%b in (.) do rd/q/s "%%~dpb%folder%" >nul 2>nul)
md "C:\windows\Temp"
md "C:\Documents and Settings\Administrator\Local Settings\Temp"
cls
TITLE 已经完成清理。中国 dos 联盟 plp626、fastslz、shawell518
echo.
@echo. 恭喜你,已完成清理!无需手动关闭,5秒后此窗口即自动退出。
echo.
@echo. 中国 dos 联盟 plp626、fastslz、shawell518
echo.
@echo. 请按任意键退出。。。。。。
pause >nul 2>nul
--------------------------------------------------------------------------------------------------------
注:以上是以 Admininstrator 登录的,如果是用其它用户名登录的,如何修改呢?
[ Last edited by shawell518 on 2008-2-3 at 11:08 PM ]
第 13 楼
发表于 2008-02-03 21:41 · 中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493 发帖 2,315 注册 2006-05-01 10:41 20年会员 UID 54766 性别 男 来自 上海
状态 离线
Originally posted by shawell518 at 2008-2-3 21:26:
谢谢8、9楼的高手
结合上面的两位,改进了一下,请指正(发现能很好地清除所有临时文件夹内的文件),经过测试,很好用,而且目录无论多深,也 ...
晕清理%temp%再好也好不过这个Vbs
Dim fs,f,fc
Const TemporaryFolder=2
On Error Resume Next
Set fs=CreateObject("Scripting.filesystemObject")
Set fs=fs.GetSpecialFolder(2)
Set fc=fs.SubFolders
For Each f In fc
f.Delete True
Next
Set fc=fs.Files
For Each f In fc
f.Delete True
Next
第 14 楼
发表于 2008-02-03 21:47 · 中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493 发帖 2,315 注册 2006-05-01 10:41 20年会员 UID 54766 性别 男 来自 上海
状态 离线
Originally posted by plp626 at 2008-2-3 21:16:
我这不是很懂,你给我详细说说,为什么就不稳定了?
假设光驱里有光盘,光盘部分受损,就死读光盘,飞盘....
第 15 楼
发表于 2008-02-03 23:06 · 印度 马哈拉施特拉邦 孟买郊区县 腾讯云
中级用户
★★
积分 310 发帖 97 注册 2004-05-26 00:00 22年会员 UID 25372 性别 男
状态 离线
Originally posted by fastslz at 2008-2-3 09:47 PM:
假设光驱里有光盘,光盘部分受损,就死读光盘,飞盘....
刚刚试了一下
当光驱内有光盘时,的确会读光驱,但没有出现“死读光盘,飞盘...”的现象
不知道其它的光驱如何
[
Last edited by shawell518 on 2008-2-3 at 11:52 PM ]
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正