中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]---cmd 如何搜索硬盘上“Temp”的文件夹
« [1] [2] »
作者:
标题: [已解决]---cmd 如何搜索硬盘上“Temp”的文件夹 上一主题 | 下一主题
shawell518
中级用户




积分 310
发帖 97
注册 2004-5-26
状态 离线
『楼 主』:  [已解决]---cmd 如何搜索硬盘上“Temp”的文件夹

如何搜索全部硬盘上的名为“Temp”的文件夹,并全部删除里面的文件(不删除“Temp”文件夹?

谢谢

[ Last edited by shawell518 on 2008-2-6 at 08:02 PM ]

2008-2-3 12:03
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 2 楼』:  

你都是老用户了,
for + if +del /a/q/s name

2008-2-3 12:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 3 楼』:  


@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




第一高手    第二高手

2008-2-3 14:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 4 楼』:  

呵呵,那我只好也凑个热闹了,我这个还简短,通用性也强:
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了,除非...,这个可能性很小.

2008-2-3 17:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 5 楼』:  

偶忘了给 del/a/q/s %%~dpb%folder% 后加个 2>nul,不过也没啥,显示信息你就当没看见.窗口最小化就是了,还嫌不爽你把它设为隐藏执行.
全盘枚举目录树可得花一些时间,

2008-2-3 18:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Chinaderek
初级用户





积分 64
发帖 33
注册 2008-1-28
状态 离线
『第 6 楼』:  

呵呵,领教了.

2008-2-3 18:45
查看资料  发送邮件  发短消息 网志  OICQ (313192133)  编辑帖子  回复  引用回复
shawell518
中级用户




积分 310
发帖 97
注册 2004-5-26
状态 离线
『第 7 楼』:  

呵呵 高手啊
不过
我想把 Temp 及 Tmp 内的文件删除掉

换成 Temp 试了下,搜不到 Documents and Settings 内的 Temp 文件

用3楼的试了下,能搜索到根目录下的且能删除,但二级以上目录的搜不到

用4楼的试了下,搜索时间长了但不能删除其内文件

[ Last edited by shawell518 on 2008-2-3 at 08:24 PM ]

2008-2-3 20:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 8 楼』:  

那是因为路径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=

2008-2-3 20:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 9 楼』:  

不是2级目录搜索不到,为用户考虑没处理包含系统属性的文件夹,自己改一下 dir /s/b换成dir /s/b/a



第一高手    第二高手

2008-2-3 20:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 10 楼』:  

set drives=c: d: e: f: g: h: I: j: K: l: M:
这样访问光盘盘符可能存在不稳定的情况



第一高手    第二高手

2008-2-3 20:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
plp626
银牌会员

钻石会员


积分 2278
发帖 1020
注册 2007-11-19
状态 离线
『第 11 楼』:  

我这不是很懂,你给我详细说说,为什么就不稳定了?

2008-2-3 21:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
shawell518
中级用户




积分 310
发帖 97
注册 2004-5-26
状态 离线
『第 12 楼』:  

谢谢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 ]

2008-2-3 21:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 13 楼』:  



  Quote:
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




第一高手    第二高手

2008-2-3 21:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by plp626 at 2008-2-3 21:16:
我这不是很懂,你给我详细说说,为什么就不稳定了?

假设光驱里有光盘,光盘部分受损,就死读光盘,飞盘....



第一高手    第二高手

2008-2-3 21:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shawell518
中级用户




积分 310
发帖 97
注册 2004-5-26
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by fastslz at 2008-2-3 09:47 PM:

假设光驱里有光盘,光盘部分受损,就死读光盘,飞盘....

刚刚试了一下

当光驱内有光盘时,的确会读光驱,但没有出现“死读光盘,飞盘...”的现象

不知道其它的光驱如何

[ Last edited by shawell518 on 2008-2-3 at 11:52 PM ]

2008-2-3 23:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: