とまと あんらいぷ…

エンジニアの活動記録とかつぶやきとか

GitHub
スポンサードリンク

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサードリンク

バッチファイルで作業フォルダを指定してexe実行

作業フォルダとはなにか


exeファイルを実行するとき、「作業フォルダ」というものがあります。
ショートカットを作って、プロパティを開いた時のコレです。

20140408_01work.png

この作業フォルダ、そのファイルを実行する時のルートとなるパスのことで、
例えば

D:\blog\test.bat
というバッチファイルを作って、そのバッチファイルの中で
D:\blog\test.txt を開きたいときは
「test.bat」と「test.txt」が同一フォルダに存在すれば
test.txt って書くだけで開くことができます。

20140408_02work.png

20140408_03work.png

20140408_04work.png

ほらね。

次に、このtest.batのショートカットを、デスクトップに作ってみます。

20140408_05work.png

で、実行

20140408_06work.png

問題なく起動できます。

では、test.batの、ショートカットのプロパティを見てみましょう。


20140408_07work.png

作業フォルダが、「D:\blog」になっています。
これは、ショートカットの元のファイルがある場所です。

試しに、作業フォルダを削除。

20140408_08work.png

結果は、「test.txt」が見つからないというエラーが出ます。

20140408_09work.png

コマンドプロンプトで「C:\Users\taku\Desktop>test.txt」と出ている通り、
「C:\Users\taku\Desktop」で実行されたことになっているからです。

フルパスを書けば問題ないか?


デスクトップにバッチファイルを作って、フルパスを指定してみます。

20140408_10_2work.png

デスクトップから、「D:\blog\test.bat」を呼ぶバッチです。
結果・・・

20140408_11_2work.png

やっぱりダメ。

バッチファイルで作業フォルダを指定してexe実行


ショートカットを作った時は「作業フォルダ」にルートとなるパスを指定すればいいですが、
バッチファイルの実行場所、つまり作業フォルダを指定して実行したい場合は
そのフォルダに移動してから、お目当てのファイルを呼ぶ必要があります。

20140408_12awork.png

こんな感じ

d: でDドライブに移動してます。
cd で指定フォルダに移動して、
test.bat を実行。

20140408_12work.png

結果、作業ディレクトリが「D:\blog」ということになって実行され
お目当ての動きになります。

コマンドウィンドウをすぐに閉じたい



この起動方法では、起動したプログラムが終了するまでバッチファイル内の次の行に処理が移らず
コマンドウィンドウが表示されたままとなります。

つまり、複数のアプリケーション呼び出しをコマンドに書いても、1つずつ呼び出すことになります。
プログラムを起動したらすぐにコマンドウィンドウを閉じたいときもありますし
複数のexeファイルを連続で実行したいときもあると思います。
次回は、バッチファイルでexeを連続実行する方法を記事にします。

※ちなみに、パッチファイルやコマンドラインでネットワークパス(UNC)が絡んでくるような時は
「pushd/popd」コマンドを検討しましょう。
バッチファイル内のネットワークパス操作はpushd/popdを使おう
▼この記事を読んだ方は、こんな記事も読んでいます。▼

スポンサードリンク

テーマ:プログラミング - ジャンル:コンピュータ

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://dalmore.blog7.fc2.com/tb.php/101-73f3e98e
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。