![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 16:34 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助:长文件名显示不正常(高手级的) |
| 可打印版本 1,081 / 4 |
| 第1楼 jiulong | 发表于 2008-03-05 14:38 |
| 中级用户 发帖 183 积分 396 | |
|
求助:长文件名显示不正常(高手级的) @echo off
set ietmp=%userprofile%\Local Settings\Temporary Internet Files for /f "tokens=1" %%i in ('dir /ad /s "%ietmp%\*"') do echo %%i pause 上面是错误的,不能正常显示 用下面的就正确了 for /f "tokens=*" %%i in ('dir /ad /b /s "%userprofile%\Local Settings\Temporary Internet Files\*"') do rd /s/q "%%i" del /f /s /q "%userprofile%\Local Settings\Temp\*.*" 这条命令有缺陷:如果别人的IE临时目录不在这里呢?而且你又不知道呢? 要实现的目的是: 1、不知道IE临时文件夹所在位置(因为要做个通用的清理垃圾工具),所以不能用SET来变量 2、不能用rd /s/q "path:\Temporary Internet Files"&md "path:\Temporary Internet Files"命令,因这条命令会造成至命错误。我是试过的,不知别人有没有 我这种至命问题 补充:如果用以下命令来设置变量也可以: @reg add "HKCU\Environment" /v ietmp /t reg_expand_sz /d "%USERPROFILE%\Local Settings\Temporary Internet Files" /f @reg add "HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v ietmp /t reg_expand_sz /d "%USERPROFILE%\Local Settings\Temporary Internet Files" /f 然后我可以用这样的命令做:rd /s/q %ietmp%&md %ietmp% 注意:在不知道别人做系统习惯的情况下,又不知他的IE临时目录所在位置 并且他转过又不想换其它位置的情况下要做到通用就有点难了。 [ Last edited by jiulong on 2008-3-5 at 02:47 PM ] |
|
| 第2楼 vkill | 发表于 2008-03-05 14:48 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
不管转移到那,读取reg都可以找到的
|
|
| 第3楼 fastslz | 发表于 2008-03-05 18:43 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
第1个 "tokens=1"能正常显示才叫怪了
看下面的通用吗 |
|
| 第4楼 chishingchan | 发表于 2008-03-06 14:28 |
| 银牌会员 发帖 538 积分 1,284 | |
|
结合自己及几位高手帮助后所做成的成品(仅供参考) |
|
| 第5楼 jiulong | 发表于 2008-03-07 08:49 |
| 中级用户 发帖 183 积分 396 | |
|
楼上的代码好恐怖呀
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |