- ベストアンサー
BATで環境変数へ登録
MSDOSのBATで、コマンドの実行結果を環境変数へ登録 することは可能でしょうか? 例えば、 C:\> CD と行うと C:\ が返ってきますが、この値を環境変数に 登録出来ればと思います。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
DOS(っていうか、COMMAND.COM)にはそういう機能はありません。 プログラムを作るしかないでしょう。 昔(MS-DOS 3.x時代)そういうコマンドを作ったことがありますが(Cです)… 1.コマンド引数として環境変数名と実行するコマンドを受け取る argv[0]をチェックして「自分自身でない」事を確認しないとOSごとハングするまで無限ループします 引数がややこしいコマンドだと""で括っただけでは不足なので、工夫が必要 2.COMMAND.COMを起動して引数で受け取ったコマンドラインを渡す popen()が使える環境ならpopen()が簡単 system()で起動しちゃうと表示されるだけ 3.COMMAND.COMの環境変数テーブルを強引に書き換え MS-Windows上のMS-DOSプロンプトやコマンドプロンプトでは試したことがありません。
その他の回答 (1)
- arukamun
- ベストアンサー率35% (842/2394)
回答No.1
こんにちは DOSではプログラムで作らないと無理ですね。 http://rd.vector.co.jp/soft/dos/util/se056254.html などはいかがでしょうか。 当然、batファイルの中でこのプログラムを起動すれば良いと思います。
お礼
Cも使えるので、書いてもいいのですが、ちょっと面倒な 気もします。 ありがとうございました。