调用这样的DOS命令时该怎么办?

hwyqy 2005-02-18 10:51:34
我有一段代码,如 Shell "del a.txt",但有些DOS命令如Del *.*会提问是否全部删除,我当然是要全部删除,请问这是该使用何种指令?谢谢!
...全文
159 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
maodou521 2005-02-19
  • 打赏
  • 举报
回复
del /y 不问是否删除
zglnew 2005-02-19
  • 打赏
  • 举报
回复
up
haohaohappy 2005-02-19
  • 打赏
  • 举报
回复
汗!
a11s 2005-02-19
  • 打赏
  • 举报
回复
用 DOS 命令加管道操作||ECHO 的办法提供各种字符
hwyqy 2005-02-18
  • 打赏
  • 举报
回复
to daisy8675(莫依) :强!成功
虽然具体的命令不一样,但回答也就这么几种

to: viena(维也纳nn-实心木头人)
谢谢你的帮助。net stop停止一般的服务不会询问,但停止如iisAdmin之类的服务,如果还打开的w3svc或FTP等服务,是会询问的。
viena 2005-02-18
  • 打赏
  • 举报
回复
具体的命令都不一样的啊,
在命令行输入带问号的命令,查看参数

//net stop ……停止某一服务,也会询问的
未必
daisy8675 2005-02-18
  • 打赏
  • 举报
回复
如何写一个删除WINDOWS\TEMP下的*.* 则这么写Shell "Delete C:\Windows\Temp\*.* /y"
hwyqy 2005-02-18
  • 打赏
  • 举报
回复
呵呵,谢谢。
不过我的主要目标不是删除文件,而是执行各种DOS命令。
viena 2005-02-18
  • 打赏
  • 举报
回复
用API函数删除,以下为复制、移动、删除文件的例子

Private Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String '只有在 FOF_SIMPLEPROGRESS 时用
End Type

Private Declare Function SHFileOperation Lib _
"shell32.dll" Alias "SHFileOperationA" (lpFileOp _
As SHFILEOPSTRUCT) As Long

'wFunc 常数
'FO_COPY 把 pFrom 文件拷贝到 pTo。
Const FO_COPY = &H2
'FO_DELETE 删除 pFrom 中的文件(pTo 忽略)。
Const FO_DELETE = &H3
'FO_MOVE 把 pFrom 文件移动到 pTo。
Const FO_MOVE = &H1

'fFlag 常数
'FOF_ALLOWUNDO 允许 Undo 。
Const FOF_ALLOWUNDO = &H40
'FOF_NOCONFIRMATION 不显示系统确认对话框。
Const FOF_NOCONFIRMATION = &H10
'FOF_NOCONFIRMMKDIR 不提示是否新建目录。
Const FOF_NOCONFIRMMKDIR = &H200
'FOF_SILENT 不显示进度对话框
Const FOF_SILENT = &H4

例子:
Dim SHFileOp As SHFILEOPSTRUCT
' 删除
SHFileOp.wFunc = FO_DELETE
SHFileOp.pFrom = "c:\config.old" + Chr(0)
SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMATION
Call SHFileOperation(SHFileOp)
' 删除多个文件
SHFileOp.wFunc = FO_DELETE
SHFileOp.pFrom = "c:\config.old" + Chr(0) + "c:\autoexec.old" + Chr(0)
SHFileOp.fFlags = FOF_ALLOWUNDO
Call SHFileOperation(SHFileOp)
' 拷贝
SHFileOp.wFunc = FO_COPY
SHFileOp.pFrom = "c:\t"
SHFileOp.pTo = "d:\"
SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMMKDIR
Call SHFileOperation(SHFileOp)
' 移动
SHFileOp.wFunc = FO_MOVE
SHFileOp.pFrom = "c:\config.old" + Chr(0)
SHFileOp.pTo = "d:\t"
SHFileOp.fFlags = FOF_ALLOWUNDO + FOF_NOCONFIRMATION
Call SHFileOperation(SHFileOp)
hwyqy 2005-02-18
  • 打赏
  • 举报
回复
真快啊。
那如果遇到其它指令呢?如net stop ……停止某一服务,也会询问的。
行云边 2005-02-18
  • 打赏
  • 举报
回复
Shell "del /Q a.txt"

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 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧