みなさんの回答をまとめただけのようで申し訳ないのですが。
これはプログラムではなくバッチ処理かスクリプトだと思います。
これをこのまま.exeにしても実行されないと思います。
.batか、.scrか、その他「この動作を作ろうとした開発環境」の規則に従ってください。
その上で、このスクリプト?を、開きたいファイルa.txtと同じ場所(フォルダ)に置いてください。
そうでなければ開きたいファイルを絶対パス(PATH)で記述する必要があると思います。
(例:"C:\Program Files\MySoft\Test\a.txt")
何かを実行させるファイル(実行ファイル、バッチ、スクリプト)は、対象ファイルがどこにあるかは基本的に実行しようとしている自分のいるフォルダで探します。
すぐ下のサブフォルダにあっても、指定しないとみつけられません。
例)
C:hoge\ShowText.bat
を起動して
C:hoge\test\funya.txt
を開きたい場合は、ShowText.batの中では
start test\funya.txt (自分の場所を基準とするこれを相対バスと言う)
とするか
start C:\hoge\test\funya.txt (ドライブ名からの場所を全て書くこれを絶対パスと言う)
と指定してあげる必要があります。