batファイルが既にありそれを実行してと言われたけど、どうやって実行すればわからない人の悩みに答えます。
またbatを実行しようとしたけど、できなかった時の原因と対処法も知っておいた方が良いです。
筆者も現役のエンジニアで、バッチファイルを実行できない時もありましたのでここに記述しておきます。
windowsのプロンプトで使用できるbatやpythonやphpを使用して、業務効率化やWebサイトを作成しております。javaやシェルスクリプトなど、様々なプログラミングを行った実績ありの筆者です。
この記事を読めばbatファイルを実行できない。なんて事はなくなります。
batファイルを実行する方法
![batファイルを実行](https://sugublog.org/wp-content/uploads/2021/11/programing_1122-4-1024x560.jpg)
batファイルを実行する方法は基本的に2つ覚えておけば良いでしょう!
- batファイルをダブルクリックかエンターでそのまま実行する
- batファイルのパスをエクスプローラーに入れて実行する
batファイルをダブルクリックかエンターでそのまま実行する
batファイルがあるフォルダがわかっていれば、batファイル自体をダブルクリックかエンターで実行できます。
管理者権限で実行したい場合は、batファイルを右クリックして「管理者として実行」をクリックします。
![batを管理者として実行する](https://sugublog.org/wp-content/uploads/2024/02/bat実行基本_管理者として実行1.png)
ユーザーアカウントの制御のポップアップが表示されますので「はい」を選択してOKです。
![batを管理者として実行する](https://sugublog.org/wp-content/uploads/2024/02/bat実行基本_管理者として実行2.png)
batファイルのパスをエクスプローラーに入れて実行する
batファイルのパスがわかっている場合は、そのパスをエクスプローラーのパスにコピーしてエンターします。
![batを実行する](https://sugublog.org/wp-content/uploads/2024/02/bat実行基本_パスを入れて実行.png)
batファイルが実行できない時の原因と対処法
![エラー](https://sugublog.org/wp-content/uploads/2021/06/shutterstock_1433996435-min-1024x683.jpg)
batファイルを実行しても何もおきなかった場合の原因についてお話します。
- 実はbatが実行されている場合
- 本当にbatが実行されていない場合
実はbatが実行されている場合
実はbatが実行されている場合があります。以下のbatファイルを実行して見て下さい。
@echo off
echo test
![](https://sugublog.org/wp-content/uploads/2021/12/PC教室20211216-8-300x229.jpg)
![](https://sugublog.org/wp-content/uploads/2021/07/html-007-2-300x225.jpg)
実行結果は何もおきないとおもいます。
しかし実はbatは実行されています。実行実績としては以下です。
- コマンドプロンプトが立ち上がる
- testと表示される
- プロンプトが閉じる
上のフローが一瞬で実行されているため、見えないだけです。
![](https://sugublog.org/wp-content/uploads/2021/02/cropped-dog003-150x150.png)
原因はわかりました。見えるようにしたいです。
![](https://sugublog.org/wp-content/uploads/2021/02/mine_white_001.png)
![](https://sugublog.org/wp-content/uploads/2021/02/mine_white_001.png)
![](https://sugublog.org/wp-content/uploads/2021/02/mine_white_001.png)
では先程のbatの最後に「pause」を入れてみましょう!
@echo off
echo test
pause
![](https://sugublog.org/wp-content/uploads/2021/09/jump0907-3-300x225.jpg)
![](https://sugublog.org/wp-content/uploads/2021/09/jump0907-3-300x225.jpg)
上のbatを実行した結果です。
test
続行するには何かキーを押してください . . .
上手く表示されました。
このようにプロンプト上で実行結果を確認する場合はpauseコマンドを入れましょう!
本当にbatが実行されていない場合
サーバーの共有フォルダにbatを入れている環境もあるでしょう。
windows serverに共有フォルダ「共有1」があり、その配下に「echo_test」フォルダと「def.bat」があります。
![batを実行する](https://sugublog.org/wp-content/uploads/2024/02/bat実行2_server_bat_def.bat_.png)
![batを実行する](https://sugublog.org/wp-content/uploads/2024/02/bat実行2_server_bat_def.bat_.png)
「def.bat」の内容は以下です。
@echo off
set name=windows server2016
変数「name」に「windows server2016」の文字列を入れています。
![](https://sugublog.org/wp-content/uploads/2021/08/script_0809-11-300x195.jpg)
![](https://sugublog.org/wp-content/uploads/2021/08/script_0809-11-300x195.jpg)
「echo_test」フォルダ配下には「echo.bat」があります。
![batを実行する](https://sugublog.org/wp-content/uploads/2024/02/bat実行3_server_bat_echo.png)
![batを実行する](https://sugublog.org/wp-content/uploads/2024/02/bat実行3_server_bat_echo.png)
「echo.bat」の内容は以下です。
@echo off
call ..\def.bat
echo %name%
pause
この「echo.bat」はひとつ前のフォルダにある「def.bat」の変数「name」を参照しています。
他のファイルの変数の値「Windows server2016」の文字列を参照してechoで表示するbatファイルです。
この「echo.bat」をサーバー上で実行して見ます。
Windows server2016
続行するには何かキーを押してください . . .
実行されています。
今度は端末側でサーバーのbatファイルを実行してみます。
![batを実行する](https://sugublog.org/wp-content/uploads/2024/02/bat実行4_PC_bat_echo.png)
![batを実行する](https://sugublog.org/wp-content/uploads/2024/02/bat実行4_PC_bat_echo.png)
エクスプローラーのURL欄にサーバーの共有フォルダのパスをいれてアクセスしています。
![batを実行する](https://sugublog.org/wp-content/uploads/2024/02/bat実行5_PC_bat_echo_error.png)
![batを実行する](https://sugublog.org/wp-content/uploads/2024/02/bat実行5_PC_bat_echo_error.png)
端末では実行してもエラーになり、思うような結果になりませんでした。
結論:batファイルが実行できない時の対処法
![batファイル実行できない時の対処法](https://sugublog.org/wp-content/uploads/2021/11/DB_1114-5-1024x682.jpg)
![batファイル実行できない時の対処法](https://sugublog.org/wp-content/uploads/2021/11/DB_1114-5-1024x682.jpg)
サーバー上のbatファイルで、他のファイルを参照しているような内容のbatファイルだと実行できません。
対処法としてはサーバーにリモートデスクトップ接続して、直接実行する事です。
サーバー上のbatファイルは、サーバー上で直接実行すると覚えておきましょう!