2
我有这样的 “launchprogram.bat” 来称呼 “myprogram.exe”(真名ppbS.exe)包括英美烟草公司代码为VBS
原始代码launchprogram.bat
call "ppbS.exe"
set ppbPath=ppbS
set pathHold=%path%
set path=%ppbPath%;%path%
ppbS create "ppbS" ShowPct 1 No Crawl 1 SetCrawlTime 1 300000
ppbS settext 1 "Start myprogram... Be pacient"
second.bat
ppbS shutdown
set path=%pathHold%
set pathHold=
set ppbPath=
注意 : “second.bat” 是另一种蝙蝠运行隐藏
额外:这个版本的 “launchprogram.bat” 由Noodles
提供"Cmd /c ""ppbS.exe"" & Dir & set ppbPath=ppbS & set pathHold=%path% & set path=%ppbPath%;%path% & ppbS create ""ppbS"" ShowPct 1 No Crawl 1 SetCrawlTime 1 300000 & ppbS settext 1 ""Start myprogram... Be pacient"" & second.bat & ppbS shutdown"
无论如何;我用这个“start.vbs”来称呼“launchprogram.bat”
On Error Resume Next
mensaje = MsgBox("Start myprogram", vbOKCancel, "myprogram")
If mensaje = vbOK Then
Script = "launchprogram.bat"
Set objshell = CreateObject("Wscript.Shell")
strPath = Wscript.ScriptFullName
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strPath)
strFolder = objFSO.GetParentFolderName(objFile)
NewPath = objFSO.BuildPath(strFolder, Script)
Set objshell = CreateObject("wscript.shell")
objshell.Run NewPath, vbHide
Else
Set objshell = CreateObject("Wscript.shell")
rmensaje = objshell.popup("Cancel myprogram", 3, "myprogram", 16)
End If
正如你所看到的,他们有太多的脚本和太多的代码来调用一个简单的程序。
请求:
我要删除“launchprogram.bat”,并把它的代码为“start.vbs”,对于只用一个脚本来调用“myprogram.exe”
谢谢lot
你可以在一行上放置多个命令。所以执行'cmd/c start'“c:\ windows \ notepad&Dir&Set Fred = Cat&Set F&Pause'。因为你不打字,所以如果你不想等待程序退出,你必须使用'start'来启动程序。 'Call'用于启动**批处理文件**。通常启动一个程序,你只能指定exe文件。请参阅我的答案在这里启动程序的三种方法http://stackoverflow.com/questions/31820569/trouble-with-renaming-folders-and-sub-folders-using-batch – 2016-07-29 22:24:07
有没有意义'On Error GoTo 0'作为最后一行。错误上下文在该行之后立即被销毁,所以它只会使代码变慢。批处理文件中的最后三行也不会执行任何操作。他们运行,然后他们改变的环境被破坏,所以它只会让代码变慢。 – 2016-07-29 22:29:42
嗨面条。谢谢。您的意思是通过以下方式替换test.bat的内容:call“myprogram.exe”&Dir&set ppbPath = myprogram&set pathHold =%path%&set path =%ppbPath%;%path%&ppbS create“myprogram”ShowPct 1 No Crawl 1 SetCrawlTime 1 300000&ppbS settext 1“启动myprogram ...是pacient”&ppbS关闭(???)。在这种情况下如何投入vbs? – BrianC