中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 11:20
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 帮忙改下批处理.. 谢谢!
可打印版本  838 / 11
第1楼 ixxxxyou 发表于 2008-05-07 01:39
初级用户 发帖 63 积分 141
帮忙改下批处理.. 谢谢!
已解决!! 谢谢各位了!!

[ Last edited by ixxxxyou on 2008-5-19 at 11:24 PM ]
第2楼 ixxxxyou 发表于 2008-05-08 00:16
初级用户 发帖 63 积分 141
这个没人会吗??
第3楼 pusofalse 发表于 2008-05-08 00:23
银牌会员 发帖 646 积分 1,604
for %%a in (c d e f g h i j k) do (
if exist %%a:\ (
dir %%a:\ /ad /b /s |findstr /i "found ntuninstall ntservicepackuninstall"
)
)
pause
rem 你的代码我没看,只是根据你的意思来写的。。。。

是不是还要过滤掉移动驱动器?
第4楼 zqz0012005 发表于 2008-05-08 03:57
中级用户 发帖 135 积分 297
dir可以指定多个参数,比如
dir /a/s/b C:\FOUND.* C:\$NtUninstall*$ C:\$NtServicePackUninstall*$
第5楼 ixxxxyou 发表于 2008-05-08 14:25
初级用户 发帖 63 积分 141
Originally posted by zqz0012005 at 2008-5-8 03:57 AM:
dir可以指定多个参数,比如
dir /a/s/b C:\FOUND.* C:\$NtUninstall*$ C:\$NtServicePackUninstall*$



那是不是改为..


fsutil fsinfo drivetype !drive!|find "固定">nul && for /f "delims=" %%a in ('dir /s/ad/b C:\FOUND.* C:\$NtUninstall*$ C:\$NtServicePackUninstall*$') do rd /s /q "%%a"
)


这样对吗?
第6楼 ixxxxyou 发表于 2008-05-08 14:26
初级用户 发帖 63 积分 141
但 这样改的话不就是只能查C盘了吗?
第7楼 ixxxxyou 发表于 2008-05-08 14:32
初级用户 发帖 63 积分 141
但是改成这样也不行啊..

@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/ad/b "!drive!\FOUND.* $NtUninstall*$ $NtServicePackUninstall*$"') do rd /s /q "%%a"
)


提示找不到文件
第8楼 zqz0012005 发表于 2008-05-08 16:38
中级用户 发帖 135 积分 297
dir /s/ad/b "!drive!\FOUND.*" "!drive!\$NtUninstall*$" "!drive!\$NtServicePackUninstall*$"
这里的!drive!也不能丢了

引号是不能乱加的,要明白它的作用

搞得我都晕了

[ Last edited by zqz0012005 on 2008-5-8 at 11:25 PM ]
第9楼 huahua0919 发表于 2008-05-08 17:04
银牌会员 发帖 780 积分 1,608

要找出全部的固定驱动器更简单,不用那么复杂的
第10楼 ixxxxyou 发表于 2008-05-08 17:40
初级用户 发帖 63 积分 141
Originally posted by zqz0012005 at 2008-5-8 04:38 PM:
dir /s/ad/b "!drive!\FOUND.* !drive!\$NtUninstall*$ !drive!\$NtServicePackUninstall*$"
这里的!drive!也不能丢了



改行这样后提示 : 文件名、目录名或卷标语法不正确。

@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/ad/b "!drive!\FOUND.* !drive!\$NtUninstall*$ !drive!\$NtServicePackUninstall*$"') do rd /s /q "%%a"
)
第11楼 zqz0012005 发表于 2008-05-08 23:26
中级用户 发帖 135 积分 297
再把4楼和8楼看清楚,动手之前多思考
第12楼 ixxxxyou 发表于 2008-05-09 00:22
初级用户 发帖 63 积分 141
终于搞明白了!!! 万分感谢楼上的大哥!! 谢谢了!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023