Board logo

标题: 如何关闭 dir /a /b $*>updata.dat的回显 [打印本页]

作者: kingshui     时间: 2006-12-29 22:54    标题: 如何关闭 dir /a /b $*>updata.dat的回显

请问:
如何关闭

:updata
cd /d %windir%
dir /a /b $*>updata.dat
for /f %%j in (updata.dat) do rd /s /q "%%j" >nul 2>nul
del /f /q updata.dat >nul 2>nul

其中dir /a /b $*>updata.dat的回显呢?
就是没有找到文件的时候显示的回显..
作者: everest79     时间: 2006-12-29 23:14
再后边加上 2>nul重定向错误消息就是了
作者: kingshui     时间: 2006-12-30 00:00
但是跟着下来的就说找不到updata.dat这个文件了...
如果不用重定向又无法生成文件...
晕了...
作者: zh159     时间: 2006-12-30 00:07
文件都找不到,还哪能生成updata.dat文件(搜索失败,没有有效的句柄1)
作者: kingshui     时间: 2006-12-30 02:32
但是如果有呢?
我的这段是查找系统更新后的剩余文件然后删
...
呵呵..
可能是无法两次重定向吧..
作者: liuyechun     时间: 2006-12-30 03:05
@echo off
if exist %SystemRoot%\$*.* for /f %%k in ('dir /ad /b %SystemRoot%\$*.*') do rd /s /q "%SystemRoot%\%%k" >nul

批处理中没有显示任何信息就删了 :P
作者: hake     时间: 2006-12-30 03:11
是要关闭命令的回显还是结果的输出重定向?
作者: zh159     时间: 2006-12-30 03:55


  Quote:
Originally posted by kingshui at 2006-12-29 13:32:
但是如果有呢?
我的这段是查找系统更新后的剩余文件然后删
...
呵呵..
可能是无法两次重定向吧..

有的话句柄是1,就生成updata.dat文件,没有的话句柄是2,就不生成updata.dat文件

就不存在你这句:但是如果有呢?

不生成updata.dat文件你的for处理上就有问题了

参考 6 楼
作者: kingshui     时间: 2006-12-30 04:17


  Quote:
Originally posted by liuyechun at 2006-12-30 03:05 AM:
@echo off
if exist %SystemRoot%\$*.* for /f %%k in ('dir /ad /b %SystemRoot%\$*.*') do rd /s /q "%SystemRoot%\%%k" >nul

批处理中没有显示任何信息就删了 :P

呵呵..
谢谢了...
这个比我那个好...
作者: kingshui     时间: 2006-12-30 04:30


  Quote:
Originally posted by zh159 at 2006-12-30 03:55 AM:

有的话句柄是1,就生成updata.dat文件,没有的话句柄是2,就不生成updata.dat文件

就不存在你这句:但是如果有呢?

不生成updata.dat文件你的for处理丠...

呵呵...
谢谢讲解...
其实是我没有认真看了...
呵呵...
句柄..也就是所谓的返回值吧?