求助:VB调用DOS命令出错,

kuheye 2017-05-23 04:51:27
VB2012 调用DOS命令出错,命令如下:

Shell("cmd ") '可以正常打开DOS窗口

Shell("dir");出错

错误提示:
“System.IO.FileNotFoundException”类型的未经处理的异常在 Microsoft.VisualBasic.dll 中发生


上面指示简单的,后面还有好多其它DOS命令,或者批处理文件

求助,谢谢
...全文
250 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-05-24
  • 打赏
  • 举报
回复
Shell("cmd /c dir")
zdingyun 2017-05-24
  • 打赏
  • 举报
回复
Dir 函数,能直接执行无须Shell函数调取。 Dir 函数,返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。 Dir 函数示例 本示例使用 Dir 函数来检查某些文件或目录是否存在。在 Macintosh 计算机上,默认驱动器名称是 “HD” ,并且路径部分由冒号取代反斜线隔开。而且 Microsoft Windows 的通配符在 Mac 中可以作为有效字符出现在文件名中。也可以使用 MacID 函数来指定文件组。
Dim MyFile, MyPath, MyName

' 返回“WIN.INI” (如果该文件存在)。
MyFile = Dir("C:\WINDOWS\WIN.ini")   

' 返回带指定扩展名的文件名。如果超过一个 *.ini 文件存在,
' 函数将返回按条件第一个找到的文件名。
MyFile = Dir("C:\WINDOWS\*.ini")

' 若第二次调用 Dir 函数,但不带任何参数,则函数将返回同一目录下的下一个 *.ini 文件。
MyFile = Dir

' 返回找到的第一个隐式 *.TXT 文件。
MyFile = Dir("*.TXT", vbHidden)

' 显示 C:\ 目录下的名称。
MyPath = "c:\"   ' 指定路径。
MyName = Dir(MyPath, vbDirectory)   ' 找寻第一项。
Do While MyName <> ""   ' 开始循环。
   ' 跳过当前的目录及上层目录。
   If MyName <> "." And MyName <> ".." Then
      ' 使用位比较来确定 MyName 代表一目录。
      If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
         Debug.Print MyName   ' 如果它是一个目录,将其名称显示出来。
      End If
   End If
   MyName = Dir   ' 查找下一个目录。
Loop
X-i-n 2017-05-23
  • 打赏
  • 举报
回复
shell ("dir")的意思是,运行 "dir",肯定找不到一个叫dir的可执行程序啊。 有两种处理办法 一种是:起process,用startinfo运行cmd.exe,然后接管标准输入输出和错误输入输出。 还有一种就是:用shell cmd.exe /c 具体的命令 来运行。

7,763

社区成员

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

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