batファイルが既にありそれを実行してと言われたけど、どうやって実行すればわからない人の悩みに答えます。
またbatを実行しようとしたけど、できなかった時の原因と対処法も知っておいた方が良いです。
筆者も現役のエンジニアで、バッチファイルを実行できない時もありましたのでここに記述しておきます。
windowsのプロンプトで使用できるbatやpythonやphpを使用して、業務効率化やWebサイトを作成しております。javaやシェルスクリプトなど、様々なプログラミングを行った実績ありの筆者です。
この記事を読めばbatファイルを実行できない。なんて事はなくなります。
batファイルを実行する方法
batファイルを実行する方法は基本的に2つ覚えておけば良いでしょう!
- batファイルをダブルクリックかエンターでそのまま実行する
- batファイルのパスをエクスプローラーに入れて実行する
batファイルをダブルクリックかエンターでそのまま実行する
batファイルがあるフォルダがわかっていれば、batファイル自体をダブルクリックかエンターで実行できます。
管理者権限で実行したい場合は、batファイルを右クリックして「管理者として実行」をクリックします。
ユーザーアカウントの制御のポップアップが表示されますので「はい」を選択してOKです。
batファイルのパスをエクスプローラーに入れて実行する
batファイルのパスがわかっている場合は、そのパスをエクスプローラーのパスにコピーしてエンターします。
batファイルが実行できない時の原因と対処法
batファイルを実行しても何もおきなかった場合の原因についてお話します。
- 実はbatが実行されている場合
- 本当にbatが実行されていない場合
実はbatが実行されている場合
実はbatが実行されている場合があります。以下のbatファイルを実行して見て下さい。
@echo off
echo test
実行結果は何もおきないとおもいます。
しかし実はbatは実行されています。実行実績としては以下です。
- コマンドプロンプトが立ち上がる
- testと表示される
- プロンプトが閉じる
上のフローが一瞬で実行されているため、見えないだけです。
原因はわかりました。見えるようにしたいです。
では先程のbatの最後に「pause」を入れてみましょう!
@echo off
echo test
pause
上の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ファイルは、サーバー上で直接実行すると覚えておきましょう!