パソコンが便利で楽になるものを紹介しています。


menu

パソコンが便利で楽になるものを紹介しています [あまおとろぐ]

バッチファイルを実行する時に黒いコマンドプロンプト画面を表示しない方法

バッチファイルを実行すると、
コマンドプロンプトの黒い画面が表示されますよね。
 
 
手動で実行する時は処理内容が見えて良いのですが、
タスクスケジューラなどで自動実行している場合、
パソコンの操作中にいきなりプロンプト画面が表示されることがあります。
 
ちょっと邪魔ですよね。
 
 
この記事では、コマンドプロンプト画面に表示しない方法を紹介します。
 
 
スポンサーリンク

もくじ

 
スポンサーリンク

VBS(VBScript)を使います

Windowsには、VBS(VBScript)というスクリプト言語があります。
74-1.png
 
拡張子が vbs のファイルなのですが、
これをうまく使うと、コマンドプロンプト画面を非表示にできます。
 
イメージとしては、
 VBSファイルの中で「バッチファイル」を非表示で実行する
といった感じですね。
 
 

Windows 7とWindows Server 2003で実際に使ってます

以下で説明する方法は私が、
  • Windows 7
  • Windows Server 2003
で実際に使っている方法です。
 
 
7 と 2003で実行できていますので、
  • Windows Vista
  • Windows XP
  • Windows 8
  • Windows Server 2008
でも同じ方法が使えると思います。
 
試してみてくださいね。
 
[2014/08/01追記]
Windows 8.1 Proの場合、
「このファイルを開く方法を選んでください」というダイアログが表示され、
うまく実行できないことがあるようです。
 
当記事の一番下にあるコメント欄にて、回避策を教えて頂きました。
同じ現象が出る場合はお試しくださいね。
 
  1. プログラム/スクリプトの内容を引数の追加に移動する。
    パスは、”(ダブルクォーテーション)で囲む。
  2. 代わりに、
    C:\Windows\System32\wscript.exe
    をプログラムとして実行する。
というのがポイントのようです。
 
Hayaさん、ありがとうございました!
 
 
 

バッチファイルを実行する「VBSファイル」を作成する

実行したいバッチファイルは、予め準備しておいてくださいね。
 
例として、「ライブラリのバックアップ.bat」というバッチファイルを作成しました。
 
 
ここからバッチファイルを実行する為のVBSファイルを作成します。
 
  1. テキストファイルを新規作成する。
     
  2. 以下を参考に、テキストファイルにスクリプト(コマンド)を書く。
    Set ws = CreateObject(“Wscript.Shell”) 
    ws.run “cmd /c ライブラリのバックアップ.bat“, vbhide 

    簡単に説明すると、
    1行目: VBScriptのオブジェクト(データのカタマリみたいなもの)を作成する。
    2行目: オブジェクトが持っているrun関数を使ってファイルを非表示で実行する。
    となります。
    赤文字の部分に実行したいバッチファイル名を書いてくださいね。 

  3. ファイルを名前を付けて保存する。

    ファイル名は、わかりやすい名前、例えば、
     「ライブラリのバックアップ.vbs」
    などにしておきましょう。
     
    拡張子が txt でなく、vbs になっていることにご注意ください。
    VBSファイルはバッチファイルと同じフォルダに保存してくださいね。 

 

「タスクの設定方法」はほぼ同じです

バッチファイルとVBSファイルの準備ができました。
 
このファイルを使って、自動実行の為のタスク設定を行います。
 
 
バッチファイルの代わりにVBSファイルを指定する、
というところがポイントです。
 
 
具体的には、操作タブの新しい操作画面の
「プログラム/スクリプト」を以下のように設定します。
C:\Work\ライブラリのバックアップ.bat
 ↓
C:\Work\ライブラリのバックアップ.vbs
 
 
その他の設定方法は、別ブログの記事、
タスクの設定方法を参考にしてくださいね。
 
 
これで設定は完了です!
 

手動で実行確認しておく

自動実行する前に、
設定が正しいかどうか手動実行して確かめておきましょう。
 
 
右クリックして、「実行する」をクリックするとバッチファイルが実行される。
60-11.png
 
 
この時、以前はコマンドプロンプトの黒い画面が表示されていましたが、
今回は何も表示されなかったと思います。
 
うまく実行できなかった場合は、設定を再確認してくださいね。
 
 
今後は、指定したバックアップ時間が来ても、
コマンドプロンプト画面が表示されることなく、
バックグラウンドでバッチファイルが実行されます!
 

少しだけ注意!

この記事の方法でコマンドプロンプトの画面を表示せず、
実行できるようになります。
 
 
実行できるのですが、
 「バッチファイルを実行した後、途中で止まってしまう」
と、バッチファイルが実行されたままの状態になってしまいます。
 
 
ですので、実行するバッチファイルは、
  • はい・いいえなどの問い合わせがないようにしておく。
  • エラーが発生した場合は、バッチファイルを終了させる。
    (エラー内容はログファイルなどに残す)
ようにしてくださいね。
 
 
万が一、見えない状態で実行されたまま状態になった場合、
Windowsのタスクマネージャーでプロセス等を終了すれば大丈夫ですよ。
 
 

まとめ

私もこの記事の方法を設定するまでは、
作業中にいきなり黒い画面が出て困っていました。
 
 
VBSファイルでバッチファイルを実行すると、
黒い画面も表示されませんし、タスクバーにも表示されないので便利ですよ。
 
一度、お試しくださいね。
 
スポンサーリンク

コメント

  • トラックバックは利用できません。

  • コメント (4)

    • Haya
    • 2014年 8月 01日

    こんにちは。
    WIndows8.1Proで、バッチファイルを呼ぶvbsをタスクスケジューラから読んでみましたら「このファイルを開く方法を 選んでください」とダイアログが出てうまく動いてくれません。
    調べてみましたら回避方法があるようです。
    [回避方法のURL]
    以上ご参考まで・・・。

    • だーしゅ
    • 2014年 8月 01日

    Hayaさん、コメントありがとうございます。
    手持ちのWindows8.1(無印)で試したところ、記事に書いていた方法のままで実行できました。Proでないからかも知れませんが。。。
    教えて頂いたサイトにもありましたが、どうやら環境によって発生する場合があるようですね。
    早速、記事に追記させて頂きました。
    ありがとうございました!

    • おでんでん
    • 2014年 12月 07日

    Windows7にて、バッチファイルの黒画面を表示させないように
    する必要があり、本記事を参考にさせてもらいました。
    ありがとうございました。

    • だーしゅ
    • 2014年 12月 07日

    おでんでんさん、コメントありがとうございます。
    私もこの方法で、ファイルサーバや自分のパソコンのバックアップを定期的に実行してますよ。
    黒画面が表示されないのは良いですね。
    いきなり表示するとびっくりしますので。。。

だーしゅ
IT関係のお仕事してます。
パソコンが楽になる
何かが見つかるとうれしい。
[当ブログについて]

最近のコメント

  • User Avatarだーしゅ { KENさん、コメントありがとうございます。 私も10個すべてのブログで、サブディレクトリ方式を使ってます。 まず、レポート画面で「集客 - すべてのトラフィック - 参照元/メディア」を確認しました。 ・google / organic ・yahoo / organic ・bing / organic ・(direct) / (none) などはありましたが、自ドメインは見当たりませんでした。 次に、「(direct) / (none)」の中にあるかと、 「セカンダリ ディメンション:完全なリファラー」... } – 11月 04, 2:18 PM
  • User AvatarKEN { こちらの記事を参考にさせていただきました。 1点、質問がございます。 sample.com/blog-a/ sample.com/blog-b/ 上記2つの別ブログがあるとして、記事のとおりに設定した場合、 ブログAに、ブログBからのリンク流入があった場合、 ブログAの「集客」レポートにおいて、ブログBが参照元として記録されますでしょうか? ブログAとブログBは「sample.com」という同じドメインになるので、記録されないような気がします(ノーリファラーになる!?)が、GA上で「ウェブサイトのURL」を「sample.com」ではなく「sample.com/blog-a」にしておけば記録されますかね? 例として挙げさせていただいた「ブログA」と「ブログB」は内容的に別サイトでして、 GAの「集客」レポート上で、他の外部サイトからの流入と同じように「リンク流入」として分析をしたいのです。 blog-a.sample.com blog-b.sample.com とか、 blog-a.com blog-b.com とすればドメイン的にも別サイトになるので、やりたいことができるのは分かっているのですが、事情がありサブディレクトリで2サイトを運営しています。。 } – 11月 04, 3:25 AM
  • User Avatarだーしゅ { 匿名さん、コメントありがとうございます。 止める事ができて良かったですよ。 } – 1月 25, 6:38 AM
  • User Avatar { デスクトップの右上でマウスカーソルを止める事ができました! ありがとうございます。 } – 1月 25, 2:47 AM
  • User Avatarだーしゅ { おでんでんさん、コメントありがとうございます。 私もこの方法で、ファイルサーバや自分のパソコンのバックアップを定期的に実行してますよ。 黒画面が表示されないのは良いですね。 いきなり表示するとびっくりしますので。。。 } – 12月 07, 9:17 PM
  • User Avatarおでんでん { Windows7にて、バッチファイルの黒画面を表示させないように する必要があり、本記事を参考にさせてもらいました。 ありがとうございました。 } – 12月 07, 8:24 PM