Board logo

标题: 帮忙改下批处理.. 谢谢! [打印本页]

作者: ixxxxyou     时间: 2008-5-7 01:39    标题: 帮忙改下批处理.. 谢谢!

已解决!!   谢谢各位了!!

[ Last edited by ixxxxyou on 2008-5-19 at 11:24 PM ]
作者: ixxxxyou     时间: 2008-5-8 00:16
这个没人会吗??
作者: pusofalse     时间: 2008-5-8 00:23
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 你的代码我没看,只是根据你的意思来写的。。。。

是不是还要过滤掉移动驱动器?
作者: zqz0012005     时间: 2008-5-8 03:57
dir可以指定多个参数,比如
dir /a/s/b C:\FOUND.* C:\$NtUninstall*$ C:\$NtServicePackUninstall*$
作者: ixxxxyou     时间: 2008-5-8 14:25


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


这样对吗?
作者: ixxxxyou     时间: 2008-5-8 14:26
但 这样改的话不就是只能查C盘了吗?
作者: ixxxxyou     时间: 2008-5-8 14:32
但是改成这样也不行啊..

@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"
)


提示找不到文件
作者: zqz0012005     时间: 2008-5-8 16:38
dir /s/ad/b "!drive!\FOUND.*" "!drive!\$NtUninstall*$" "!drive!\$NtServicePackUninstall*$"
这里的!drive!也不能丢了

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

搞得我都晕了

[ Last edited by zqz0012005 on 2008-5-8 at 11:25 PM ]
作者: huahua0919     时间: 2008-5-8 17:04

@echo off
for %%a in (c d e ) do (
if /i "%%a:"=="%systemdrive%" (cd %%a:\) else (%%a:)
dir/s/b/a FOUND.*
)
pause
要找出全部的固定驱动器更简单,不用那么复杂的
wmic logicaldisk where drivetype=3 list brief

作者: ixxxxyou     时间: 2008-5-8 17:40


  Quote:
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"
)
作者: zqz0012005     时间: 2008-5-8 23:26
再把4楼和8楼看清楚,动手之前多思考
作者: ixxxxyou     时间: 2008-5-9 00:22
终于搞明白了!!!   万分感谢楼上的大哥!!  谢谢了!