我尝试向cmd发送第二个命令。 在cmd中也许我应该这样做
Microsoft Windows [Version 10.0.14986]
(c) 2016 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>D:
D:\>set /p a=Write a text :
Write a text : This is a sample
D:\>echo %a% > sample.txt
D:\>type sample.txt
This is a sample
D:\>
更改为驱动器D>设置变量>写下答案>将其写入文件并阅读。
内联代码是:
cmd.exe /c "D: & set/p a=write a text : & echo %a% > sample.txt & type sample.txt & pause"
Press any key to continue...
Are you sure you want to continue? (Y/n)
Ping an IP : (xxx.xxx.xxx.xxx)
当我发送命令时。如果它完成了像
这样的任务,它将自动退出CreateObject("WScript.Shell").run "cmd.exe /c ping google.com > myfile.txt
'After finish pinging it will auto exit.
我的问题是,我如何向cmd发送输入。我如何保持cmd仍然活着
有任何想法吗?
哦是的。我不会使用批处理文件来执行它。
答案 0 :(得分:0)
暂停和 cmd / k 应该完成您的工作。
请参阅LINK以供参考。
在VBA中,您可以这样做:
Set objShell = CreateObject(“Wscript.Shell”)
objShell.Run(“%comspec% /k ipconfig /all”)
这是另一个VBscript reference
答案 1 :(得分:0)
一种可能性是在VB6进程和cmd进程之间使用管道通信。请查看以下Windows API函数:
CreatePipe
(kernel32)CreateProcess
(kernel32)=>没有/ c标志的cmd ReadFile
/ WriteFile
用于读取/写入cmd输入/输出