从Visual Basic向cmd发送多个命令

时间:2014-02-23 10:48:49

标签: vba cmd command-line-arguments

所以我有包含一系列命令的批处理文件。 (约10) -

我已经决定为这个工具创建简单的gui - 只需一个按钮就可以一个接一个地执行命令(当命令A完成命令B开始时)

事情是我不想使用SendKey方法,我正在寻找一种甚至不会显示命令提示符窗口的方法。有没有办法实现这个目标?

我显然是初学者,所以欢迎任何帮助:)。

非常感谢!

这是我不知何故需要“翻译”到VBA代码的批处理文件的一部分。

wevtutil epl Application %temp%\Sysinfo\AppLog.evtx
wevtutil epl System %temp%\Sysinfo\SystemLog.evtx
takeown /f %temp%\Sysinfo /r /d y
icacls %temp%\Sysinfo /grant administrators:F /T
 set FILETOZIP=%temp%\Sysinfo


    set TEMPDIR=%temp%\Zip
    rd /s /q %TEMPDIR%
    mkdir %TEMPDIR%
    copy %FILETOZIP% %TEMPDIR%

    echo Set objArgs = WScript.Arguments > _zipIt.vbs
    echo InputFolder = objArgs(0) >> _zipIt.vbs
    echo ZipFile = objArgs(1) >> _zipIt.vbs
    echo CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" ^& Chr(5) ^& Chr(6) ^& String(18, vbNullChar) >> _zipIt.vbs
    echo Set objShell = CreateObject("Shell.Application") >> _zipIt.vbs
    echo Set source = objShell.NameSpace(InputFolder).Items >> _zipIt.vbs
    echo objShell.NameSpace(ZipFile).CopyHere(source) >> _zipIt.vbs
    echo wScript.Sleep 2000 >> _zipIt.vbs

    CScript  _zipIt.vbs  %TEMPDIR%  %userprofile%\Desktop\Systeminfo.zip

1 个答案:

答案 0 :(得分:0)

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

上面运行在隐藏窗口中在命令行上传递的任何内容。

&安培;在一行上分离命令

cmd /c dir&time /t%date /t%type c:\windows\win.ini&echo hello