标题: 请教用批处理删除文件怎样做到没提示?
[打印本页]
作者: terse
时间: 2007-5-14 14:01
标题: 请教用批处理删除文件怎样做到没提示?
for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype='3'" get caption') do del /a/f/q %%i\autoexec && set a=%%i
如果没有autoexec会有没找到文件的提示!
请问怎样做到删除没提示呢?
作者: bob1989
时间: 2007-5-14 14:05
试试这个~
for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype='3'" get caption') do del /a/f/q %%i\autoexec >nul&& set a=%%i
作者: 77720666
时间: 2007-5-14 14:12
想知道命令的参数说明打开CMD在命令的后面加空格加/? 即可看到帮助~
如看DEL的参数 运行CMD~输入 DEL /? 回车即可看到~~注意参数之间要有空格~
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator>del /?
删除一个或数个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names 指定一个或数个文件或目录列表。通配符可被用来
删除多个文件。如果指定了一个目录,目录中的所
有文件都会被删除。
/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
/A 根据属性选择要删除的文件。
attributes R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
- 表示“否”的前缀
如果命令扩展名被启用,DEL 和 ERASE 会如下改变:
/S 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。
C:\Documents and Settings\Administrator>
你的命令改成这样应该可以了~~
for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype='3'" get caption') do del /a /f /q %%i\autoexec && set a=%%i
作者: terse
时间: 2007-5-14 14:21
都不行啊
作者: terse
时间: 2007-5-14 14:39
@echo off
setlocal enabledelayedexpansion
for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype='3'" get caption') do del /a/f/q %%i\autoexec && set a=%%i
XCOPY autoexec /Y /H /R %a%\ >nul && XCOPY auto /E %a%\auto\ /Y /H /R>NUL && attrib +s +h +r +a %a%\auto >NUL && attrib +s +h +r +a %a%\autoexec >NUL && rd auto /s /q && del *.* /q /f>NUL
echo.
echo. 安装auto到%a%成功
echo.
echo. 现在您可以按任意键重新启动机器
pause >NUL
shutdown.exe /r /t 0
上面的处理有两个问题:
1、是否可以在删除autoexec文件的时候 没有文件也不提示!
2、是执行后就退出!怎么没有暂停呢?不过如有一命令错了就会有提示!比如我在RD前加个A 就会有提示命令错误 也就可以按任意键重新启动机器了,
请帮我改一下错误怎么样?谢了!
作者: flyinspace
时间: 2007-5-14 14:44
他的要求好简单。。
加个
>nul 2>Nul就好了。
作者: tttest
时间: 2007-5-14 14:52
>nul 是屏蔽标准输出在屏幕上的显示
2>nul 是屏蔽出错显示
>nul 2>nul 是无论对错,都屏蔽屏幕显示
满足了吗?
作者: terse
时间: 2007-5-14 15:30
谢谢楼上两位 第一的问题解决
第二个问题错在那里呢?我不用&&也一样!
哈哈 原来最后DEL了 晕了我半天!
[
Last edited by terse on 2007-5-15 at 12:04 AM ]
作者: flyinspace
时间: 2007-5-14 15:55
do del /a/f/q %%i\autoexec && set a=%%i
一般会改为:
do (
del %%i
if not errorlevel 1 set "a=%%i"
)
作者: flyinspace
时间: 2007-5-14 15:55
不过,你的想法本来就错了。。
这个东西根本没有用。
作者: terse
时间: 2007-5-14 16:39
Quote: |
Originally posted by flyinspace at 2007-5-14 15:55:
do del /a/f/q %%i\autoexec && set a=%%i
一般会改为:
do (
del %%i
if not errorlevel 1 set "a=%%i"
) |
|
先谢了flyinspace的回复!
想问一下两者区别在那里呢?
我这里好象一样效果啊!
Quote: |
Originally posted by flyinspace at 2007-5-14 15:55:
不过,你的想法本来就错了。。
这个东西根本没有用。 |
|
你指的什么没用?请教了!