DOS の変数代入の質問です。
標準出力に書き出された値を変数に代入する方法を教えてください。
UNIXの場合は,ABC=`ECHO ABC` で設定されるのですが、DOSの場合はいまいちわかりません。

回答の条件
  • 1人1回まで
  • 登録:2007/03/08 17:40:10
  • 終了:2007/03/08 20:32:18

回答(2件)

id:takuchan_no2 No.1

takuchan_no2回答回数87ベストアンサー獲得回数32007/03/08 18:08:09

変数というのは、環境変数で良いのでしょうか。

環境変数への代入はsetコマンドを使用します。

set test=AAA

のように使えます。

id:Vacuum

質問をよく読んでください。

そんなことは、知ったうえで質問しています。

2007/03/08 20:28:31
id:hissssa No.2

hissssa回答回数292ベストアンサー獲得回数672007/03/08 18:23:26

ポイント70pt

コマンドの出力するのが1行だけなら、裏技的ですが以下のように記述すれば出来ますよ。

FOR /f "DELIMS=" %%A IN ('ECHO ABC') DO SET ABC=%%A

id:Vacuum

なるほど~試してみなす。

おお~できました。ばっちりでした。

ありがとうございました。

それでは、質問を終了します。

2007/03/08 20:30:21
  • id:kurukuru-neko

    コマンドプロンプトで
    for /?


    メモ:
    @echo off
    @setlocal
    @goto :MAIN

    @rem ---サブルーチン定義 ---
    :SETVAL
    @FOR /F "DELIMS= " %%Q IN ( '%~2' ) DO @SET %1=%%Q
    @goto :EOF

    @rem --- メインルーチン定義 ---
    :MAIN
    @echo start main
    @call :SETVAL VAL "echo abc"
    @echo Set Value
    @echo %VAL%
    @echo end main
    @endlocal

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません