linux shell xcopy file by date,VBA中用SHELL调用xcopy等cmd命令,如何等待命令执行完成以及获取命令行输出结果【图文】 | Excel实例教学网 微信公众号E...

微信公众号 【EXCEL880】 QQ群【165159540】

Excel课程咨询 请加郑广学老师微信EXCEL880B

大家知道dos的xcopy命令功能强大,令vba的FileCopy语句相形见绌。我想使用shell函数调用xcopy命令,但是该函数只能返回xcopy的任务ID,不能返回xcopy命令的退出码。xcopy命令的退出码如下:

退出码说明

0文件复制没有错误。

1没有找到要复制的文件。

2用户按 CTRL+C 终止了 xcopy。

4出现了初始化错误。没有足够的内存或磁盘空间,或命令行上输入了无效的驱动器名称或语法。

5出现了磁盘写入错误。

这个退出码对于程序的健壮性特别重要,但我不知道如何得到它,请高手赐教。谢谢。

解决方法

sub Sample1()

Dim WSH, wExec, sCmd As String, Result As String

Set WSH = CreateObject("WScript.Shell")         ''(1)

''(2)

Set wExec = WSH.Exec("xcopy /?")    ''(3)

Result = wExec.StdOut.ReadAll                   ''(5)

MsgBox Result

Set wExec = Nothing

Set WSH = Nothing

End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值