VBA调用cmd命令行下执行的命令

1、启动 Windows 命令解释程序

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]
/C      执行字符串指定的命令然后中止
/K      执行字符串指定的命令但保留
/S      在 /C 或 /K 后修改字符串处理(见下)
/Q      关闭回显
/D      从注册表中停用执行 AutoRun 命令(见下)
/A      使向内部管道或文件命令的输出成为 ANSI
/U      使向内部管道或文件命令的输出成为 Unicode
/T:fg   设置前景/背景颜色(详细信息,请见 COLOR /?)
/E:ON   启用命令扩展(见下)
/E:OFF  停用命令扩展(见下)
/F:ON   启用文件和目录名称完成字符(见下)
/F:OFF  停用文件和目录名称完成字符(见下)
/V:ON   将 ! 作为定界符启动延缓环境变量扩展。如: /V:ON 会
        允许 !var! 在执行时允许 !var! 扩展变量 var。var 语法
        在输入时扩展变量,这与在一个 FOR 循环内不同。
/V:OFF  停用延迟环境扩展。

2、java中调用命令行参数

java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令。
cmd /c dir 是执行完dir命令后关闭命令窗口。

cmd /k dir 是执行完dir命令后不关闭命令窗口。

cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。

cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。


3、例子

Shell("command.com /c [command]", [WindowStyle])


1、执行Bat文件

Shell "batName"

 

 

2、执行java的exe文件

Shell("exeName",1)

3、执行java文件

Shell "java myJavaClass"

4、打开文件

Shell "cmd /c cmd /? > c:/cmdhelp.txt"

5、清除cookies中的文件

Shell "c:/window/system32/cmd.exe /c del ""c:/Documenmts and settings/my family/cookies/*.txt""",

6、执行exe执行文件

Shell "notepad.exe   d:/ping.txt"

CAD VBA是利用Visual Basic for Applications(VBA)编程语言与AutoCAD软件交互的一种技术。在CAD VBA中,如果要捕获AutoCAD命令行的输出,可以通过“Command”函数来执行命令并获取输出结果。由于命令行输出并不直接以可读的形式返回给VBA,通常需要借助于“SendCommand”方法发送命令,并在AutoCAD命令行中执行,然后通过某些手段比如“Buffer”命令将输出保存到缓冲区,最后从缓冲区读取数据。 以下是一个简单的示例代码,展示如何使用VBA捕获AutoCAD命令行的输出: ```vba Sub CaptureCommandOutput() Dim acadApp As Object Dim acadDoc As Object Dim output As String ' 获取AutoCAD应用程序实例 Set acadApp = GetObject(, "AutoCAD.Application") ' 获取当前激活的文档 Set acadDoc = acadApp.ActiveDocument ' 发送命令到AutoCAD命令行并执行 ' 假设我们执行的是"LIST"命令,列出对象的属性 acadApp.SendCommand ("LIST" & vbCr) ' 等待命令执行完毕,确保所有输出都显示在命令行 Application.Wait (Now + TimeValue("0:00:01")) ' 通过一个技巧命令(如"TEXTSCR")将命令行内容输出到命令历史窗口(结果保存在缓冲区) acadApp.SendCommand ("TEXTSCR" & vbCr) ' 读取命令历史窗口的内容(假设"TEXTSCR"命令的输出被重定向到缓冲区) output = acadDoc.Utility.GetEntity(, , , "Buffer", vbCr) ' 输出结果 MsgBox output ' 清理对象 Set acadDoc = Nothing Set acadApp = Nothing End Sub ``` 需要注意的是,上述代码仅为示例,具体的实现可能依赖于AutoCAD的具体版本和相关的配置,因为不同版本的AutoCAD可能会有不同的行为。实际上,获取命令行输出可能涉及到更复杂的逻辑,例如需要使用AutoCAD的命令历史记录功能或者其他的方法来捕获和解析输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值