• ベストアンサー

BATで環境変数へ登録

MSDOSのBATで、コマンドの実行結果を環境変数へ登録 することは可能でしょうか? 例えば、 C:\> CD と行うと C:\ が返ってきますが、この値を環境変数に 登録出来ればと思います。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.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プロンプトやコマンドプロンプトでは試したことがありません。

w0a15455
質問者

お礼

Cも使えるので、書いてもいいのですが、ちょっと面倒な 気もします。 ありがとうございました。

その他の回答 (1)

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

こんにちは DOSではプログラムで作らないと無理ですね。 http://rd.vector.co.jp/soft/dos/util/se056254.html などはいかがでしょうか。 当然、batファイルの中でこのプログラムを起動すれば良いと思います。

参考URL:
http://rd.vector.co.jp/soft/dos/util/se056254.html

関連するQ&A