Board logo

标题: [文件操作] 批处理怎样打开exe文件并输入文件中的命令给exe? [打印本页]

作者: lilinfei95    时间: 2019-4-2 19:41     标题: 批处理怎样打开exe文件并输入文件中的命令给exe?

我使用批处理文件打开一个exe,它会让我输入命令进入下一步,比如输入1进入下一步,然后输入2再进入下面一步,依次类推。我想在txt中把要输入的命令事先写下来。能否用批处理文件做到打开exe文件,然后一步一步将txt文件中的命令输入给exe?
求各位大佬给出解答,谢谢各位大佬!~~~
作者: zaqmlp    时间: 2019-4-2 19:56

xx.exe<"input.txt"
作者: ivor    时间: 2019-4-2 20:06

  1. @Powershell "& {[ScriptBlock]::Create("'#' + (gc '%~f0' -raw)").Invoke()}" & pause & goto :eof
  2. Start-Process -FilePath C:\Users\mac\Desktop\1.exe
  3. sleep 1
  4. [System.Windows.Forms.SendKeys]::SendWait("{1}")
  5. sleep 1
  6. [System.Windows.Forms.SendKeys]::SendWait("{2}")
复制代码

作者: lilinfei95    时间: 2019-4-3 10:10

回复 3# ivor
大佬,我现在想做的是这样子。txt文件中第一行是我要打开的exe的路径,后面几行是要向exe逐步输入的命令。现在我读取txt文件中的路径可以打开exe,但不能继续向exe输入txt中第二行以后的命令。
作者: ivor    时间: 2019-4-3 11:41

本帖最后由 ivor 于 2019-4-3 12:07 编辑
  1. @Powershell "& {[ScriptBlock]::Create("'#' + (gc '%~f0' -raw)").Invoke()}" & pause & goto :eof
  2. Add-Type -AssemblyName System.Windows.Forms
  3. Start-Process -FilePath cmd
  4. gc 1.txt | %{sleep 1;[System.Windows.Forms.SendKeys]::SendWait("$_"+"{ENTER}")}
复制代码

作者: lilinfei95    时间: 2019-4-3 13:05

回复 5# ivor
大佬太强了,非常感谢!
现在还有个问题就是输入时输入法会切换到中文输入法,原本英文的标点会变成中文的输进去。是否只能把输入法切换到纯英文输入法再运行?还是可以在.bat里面加入命令,使输出的全为英文符号?或者说能否按txt里的符号直接复制到exe中,而不经过输入法,这样就不会有中英文符号变换的问题。
万分感谢!万分感谢!万分感谢!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2