質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

3回答

34809閲覧

jsでbatファイルの起動

chintao1224

総合スコア155

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2017/04/01 06:27

jsでbatファイルを起動したいです。
dosプロンプトが表示したままにしたいです。
htmlはbatファイル起動後、閉じるようにしたいです。

html

1<html> 2<head> 3 <script type="text/javascript"> 4 <!-- 5 function disp(){ 6 var wsh = new ActiveXObject("WScript.Shell"); 7 //wsh.exec("cmd /C C:\test.bat,0"); 8 //wsh.run("cmd /c C:\test.bat"); 9 10var exec = wsh.Exec("cmd /C dir"); 11 12 window.open("", "_self").close(); 13 14 15 } 16 // --> 17 </script> 18</head> 19<body onLoad="disp()"> 20</body> 21</html>

上記のコードを考えましたが、一瞬dosプロンプトが表示されたのち閉じてしまいます。

dosプロンプトを表示したままにするのは無理なのでしょうか?

上記のコードは、batファイルでなくdirを呼ぶようにしてあります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

古い質問ですがたまたま見つけたので他の人のために解答しておきます。

Javascript(JScript)において、ダブルクオートで挟まれた文字列内で、
バックスラッシュ(円マーク)やダブルクオートは特殊文字となり普通に使用することが出来ません。

C:\test.batを実行したい場合は""記号は特殊文字の為、
下記のように前に""を付け(2つにして)エスケープする必要があります。

Windowsコンソール

1wsh.run("cmd /C C:\test.bat,0");

パスに空白を含む場合はダブルクオートで囲うのですが、
ダブルクオートも特殊文字の為、同様に前に"/"を付けエスケープしましょう。

Windowsコンソール

1wsh.run("cmd /C \"D:\hoge hoge\test.bat\"");

投稿2018/12/20 12:39

shinobu_osaka

総合スコア456

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

/k オプションでどうでしょう?

http://ameblo.jp/one-of-the-wnet/entry-10111695003.html

投稿2017/04/01 09:14

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

execメソッドではなく、runメソッドを使わないとDOSプロンプトを表示し続けることができないようでです。
またこれは蛇足かもしれませんが、"&"を利用して複数のコマンド実行を指定することもできます。

var wsh = new ActiveXObject("WScript.Shell"); wsh.run("cmd /k CD C:\\ & Dir");

投稿2017/04/01 12:44

ku__ra__ge

総合スコア4524

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問