I want to run a .bat file from VB, can anyone help me out? I have looked for a long time for it and found nothing. Thanks in advance
I want to run a .bat file from VB, can anyone help me out? I have looked for a long time for it and found nothing. Thanks in advance
All I do in my VB program is this to run a batch file, might work or not:
Below are lines from the ini file that I use during initialization to set strEmailPath & strEmailBAT.Code:'send e-mail Shell strEmailPath & strEmailBAT
########## email batch file location
EMAILPATH=C:\jazz\copydata\email\
EMAILBAT=emailerr.bat
Hope this helps
If you're using vbscript, you can do this:
dim shell
set shell=createobject("wscript.shell")
shell.run "batchfile.bat"
set shell=nothing
so you should be able to call the same automation object in VB.
for VB.NET this will work:
using System;
namespace Learn
{
class cmdShell
{
[STAThread]
static void Main(string[] args)
{
Declare New Process
System.Diagnostics.Process proc;
Run test.bat from command line.
proc = System.Diagnostics.Process.Start("C:\\test.bat");
Waits for the process to end.
proc.WaitForExit();
}
}
}
in VB you might be able to import the shell exec api:
Private Declare Function ShellExecute _
Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
you can then use shellexecute to run "mybat.bat"
see this page for more info:
http://custom.programming-in.net/art...f=ShellExecute
I hope you find this post helpful.Code:<%@ LANGUAGE="VBSCRIPT" %> <% Set WSHShell = CreateObject("Wscript.Shell") WSHShell.Run ("c:\myBatfile.bat") %> <html> <title>Sample</title> <body> Blah Blah </body> </html>
Regards
Just run it like any other executable.
Sample:
----------------
echo this is a batch file
c:
cd\temp
something.vbs
REM note the .vbs above is optional
Echo Batch file is over
-----------------
dim shell
set shell=createobject("wscript.shell")
shell.run "batchfile.bat"
set shell=nothing
Results in Cannot Find File...
(I've checked the path)
This is my code...... (trying to send an "Enter" key to another application .... but not successful.. could anybody pls help?)
Set Shell = CreateObject("WScript.Shell")
Shell.run "C:\Documents and Settings\Tom\Desktop\Auto AntiMalwarebytes.bat"
set shell = nothing
msgbox(Activewindow.name)
'this is the bit I need help as well ( how do I get it to recognize a particular window by its name .... also not sure if that would be the real name of the window as its an external application ... hence going by active window..)
Wscript.Sleep 10000
ws.SendKeys "{ENTER}"
WScript.Quit
You have a space in your filename for the batch file. A space cannot be part of the filename.
Whom are you addressing to the querie that you have asked? You should always quote the message above for the person to let him know you want to either querie or answer him. In any ways, if you find any problem in the code then can you perhaps post the proper code that you are referring to?
Bookmarks