I'm trying to run a bat file using javascript. I've tried using powershell but it didn't seem to work properly. Here is the code I tried:
var oShell = WScript.CreateObject("WScript.Shell");
oShell.Exec("D:");
oShell.Exec("cd dir");
oShell.Exec("start user.bat");
I've also tried that:
var oShell = WScript.CreateObject("WScript.Shell");
oShell.Exec("start D:\dir\user.bat");
Sometimes it runs, sometimes I get those errors "Expected hexadecimal digit", "Access is denied". I'm really confused. All I'm trying to do is execute a bat file from a javascript file.
Anyone has any idea how to do it? Thank you!
Exec("start user. bat");
Just create a batch file and save in the location where your html file is there. this anchor tag will execute the (test. bat) batch file. After clicking on the link <TEST>, you will get the window prompting to open/save/close, if you will click on open then batch file will be executed.
First, JavaScript doesn't have any operating system services. So you are really referring to a Windows Script Host (WSH) script that happens to be written in JavaScript.
Second, start
is not an executable but rather a command that is built into cmd.exe
.
With the confusion out of the way, it sounds like you want to execute a shell script (batch file) from a WSH script. The simplest way is like this (this is somewhat close to what you tried already):
var wshShell = new ActiveXObject("WScript.Shell");
wshShell.Run("D:\\dir\\user.bat");
To create the WshShell
COM object reference (progid WScript.Shell
), use the new
keyword and the ActiveXObject
constructor. Also, you need to double your backslashes (\
) in JavaScript strings because \
escapes characters in JavaScript strings.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With