中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-08 03:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教用批处理删除文件怎样做到没提示? 查看 912 回复 10
楼 主 请教用批处理删除文件怎样做到没提示? 发表于 2007-05-14 14:01 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype='3'" get caption') do del /a/f/q %%i\autoexec && set a=%%i
如果没有autoexec会有没找到文件的提示!
请问怎样做到删除没提示呢?
2 发表于 2007-05-14 14:05 ·  中国 湖南 衡阳 电信
中级用户
★★
积分 322
发帖 144
注册 2007-01-10 13:00
19年会员
UID 76062
性别 男
状态 离线
试试这个~
for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype='3'" get caption') do del /a/f/q %%i\autoexec >nul&& set a=%%i
3 发表于 2007-05-14 14:12 ·  中国 广东 广州 天河区 电信
初级用户
积分 59
发帖 46
注册 2007-04-10 00:25
19年会员
UID 84529
性别 男
状态 离线
想知道命令的参数说明打开CMD在命令的后面加空格加/? 即可看到帮助~
如看DEL的参数 运行CMD~输入 DEL /? 回车即可看到~~注意参数之间要有空格~

Microsoft Windows XP
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>del /?
删除一个或数个文件。

DEL attributes]] names
ERASE 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
4 发表于 2007-05-14 14:21 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
都不行啊
5 发表于 2007-05-14 14:39 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
@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 就会有提示命令错误 也就可以按任意键重新启动机器了,
请帮我改一下错误怎么样?谢了!
6 发表于 2007-05-14 14:44 ·  中国 广东 广州 番禺区 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
他的要求好简单。。

加个

>nul 2>Nul就好了。
知,不觉多。不知,乃求知
7 发表于 2007-05-14 14:52 ·  日本
新手上路
疯中之竹
积分 17
发帖 8
注册 2007-05-11 13:54
19年会员
UID 88164
性别 男
状态 离线
>nul 是屏蔽标准输出在屏幕上的显示
2>nul 是屏蔽出错显示
>nul 2>nul 是无论对错,都屏蔽屏幕显示
满足了吗?
8 发表于 2007-05-14 15:30 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
谢谢楼上两位 第一的问题解决
第二个问题错在那里呢?我不用&&也一样!
哈哈 原来最后DEL了 晕了我半天!

[ Last edited by terse on 2007-5-15 at 12:04 AM ]
9 发表于 2007-05-14 15:55 ·  中国 广东 广州 番禺区 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
do del /a/f/q %%i\autoexec && set a=%%i
一般会改为:

do (
del %%i
if not errorlevel 1 set "a=%%i"
)
知,不觉多。不知,乃求知
10 发表于 2007-05-14 15:55 ·  中国 广东 广州 番禺区 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
不过,你的想法本来就错了。。

这个东西根本没有用。
知,不觉多。不知,乃求知
11 发表于 2007-05-14 16:39 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
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的回复!
想问一下两者区别在那里呢?
我这里好象一样效果啊!
Originally posted by flyinspace at 2007-5-14 15:55:
不过,你的想法本来就错了。。
这个东西根本没有用。

你指的什么没用?请教了!
论坛跳转: