サイトアイコン スグブログ

【bat】バッチを実行する方法!実行できない時の対処法などをご紹介

analystics

batファイルが既にありそれを実行してと言われたけど、どうやって実行すればわからないの悩みに答えます。

またbatを実行しようとしたけど、できなかった時の原因と対処法も知っておいた方が良いです。

筆者も現役のエンジニアで、バッチファイルを実行できない時もありましたのでここに記述しておきます。

windowsのプロンプトで使用できるbatやpythonやphpを使用して、業務効率化やWebサイトを作成しております。javaやシェルスクリプトなど、様々なプログラミングを行った実績ありの筆者です。

この記事を読めばbatファイルを実行できない。なんて事はなくなります。

batファイルを実行する方法

batファイルを実行する方法は基本的に2つ覚えておけば良いでしょう!

batファイルを実行する方法
  • batファイルをダブルクリックかエンターでそのまま実行する
  • batファイルのパスをエクスプローラーに入れて実行する

batファイルをダブルクリックかエンターでそのまま実行する

batファイルがあるフォルダがわかっていれば、batファイル自体をダブルクリックかエンターで実行できます。

管理者権限で実行したい場合は、batファイルを右クリックして「管理者として実行」をクリックします。

ユーザーアカウントの制御のポップアップが表示されますので「はい」を選択してOKです。

batファイルのパスをエクスプローラーに入れて実行する

batファイルのパスがわかっている場合は、そのパスをエクスプローラーのパスにコピーしてエンターします。

batファイルが実行できない時の原因と対処法

batファイルを実行しても何もおきなかった場合の原因についてお話します。

batで実行してもなにもおきない時の動き
  • 実はbatが実行されている場合
  • 本当にbatが実行されていない場合

実はbatが実行されている場合

実はbatが実行されている場合があります。以下のbatファイルを実行して見て下さい。

@echo off
echo test

実行結果は何もおきないとおもいます。

しかし実はbatは実行されています。実行実績としては以下です。

batが実行されるフロー
  1. コマンドプロンプトが立ち上がる
  2. testと表示される
  3. プロンプトが閉じる

上のフローが一瞬で実行されているため、見えないだけです。

batで悩んでいるワンコ

原因はわかりました。見えるようにしたいです。

管理人

では先程のbatの最後に「pause」を入れてみましょう!

@echo off
echo test
pause

pauseはbatを一時停止させることが出来るコマンドです。

上のbatを実行した結果です。

test
続行するには何かキーを押してください . . .

上手く表示されました。

このようにプロンプト上で実行結果を確認する場合はpauseコマンドを入れましょう!

本当にbatが実行されていない場合

サーバーの共有フォルダにbatを入れている環境もあるでしょう。

windows serverに共有フォルダ「共有1」があり、その配下に「echo_test」フォルダと「def.bat」があります。

「def.bat」の内容は以下です。

@echo off
set name=windows server2016

変数「name」に「windows server2016」の文字列を入れています。

「echo_test」フォルダ配下には「echo.bat」があります。

「echo.bat」の内容は以下です。

@echo off
call ..\def.bat
echo %name%
pause

この「echo.bat」はひとつ前のフォルダにある「def.bat」の変数「name」を参照しています。

他のファイルの変数の値「Windows server2016」の文字列を参照してechoで表示するbatファイルです。

この「echo.bat」をサーバー上で実行して見ます。

Windows server2016
続行するには何かキーを押してください . . .

実行されています。

今度は端末側でサーバーのbatファイルを実行してみます。

エクスプローラーのURL欄にサーバーの共有フォルダのパスをいれてアクセスしています。

端末では実行してもエラーになり、思うような結果になりませんでした。

結論:batファイルが実行できない時の対処法

サーバー上のbatファイルで、他のファイルを参照しているような内容のbatファイルだと実行できません

対処法としてはサーバーにリモートデスクトップ接続して、直接実行する事です。

サーバー上のbatファイルは、サーバー上で直接実行すると覚えておきましょう!

モバイルバージョンを終了