バッチファイル内で、
実行ファイルや"dir /w"等のコマンドを実行して、その結果を変数に格納すると言ったことは出来るでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
ベストアンサー
batch
1@echo off 2 3setlocal enabledelayedexpansion 4set LF=^ 5 6 7for /f "tokens=* delims=" %%x in ('dir /w') do set FILES=!FILES!%%x!LF! 8echo !FILES!
delims を空にして改行を含むとまるっと代入出来ます。
が、この方法を使ったとしてもバッチファイルでは空行を検出する事ができないので他の処理系を使う等の考慮が必要です。
投稿2017/08/09 04:58
総合スコア5030
0
dos.bat
1setlocal ENABLEDELAYEDEXPANSION 2set TEXT= 3for /F "delims=" %%A in ('dir') do (set TEXT=!TEXT!%%A^ 4 5) 6 7echo !TEXT!
一応、このようにすればコマンドが出力したテキストをだいたい丸ごと環境変数に格納できます(空行を排除してしまうので完全に同じというわけにはいきませんが)。
あるいは、配列変数っぽく1行ずつ格納する方法もあります。
dos.bat
1setlocal ENABLEDELAYEDEXPANSION 2set COUNT=0 3for /F "delims=" %%A in ('dir') do (set /A COUNT += 1 & set TEXT.!COUNT!=%%A) 4 5for /L %%A in (1,1,%COUNT%) do call echo %%TEXT.%%A%%
投稿2017/08/09 09:03
総合スコア5944
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答有難うございました。
変数を1つずつ作成して格納するということでしょうか。
バッチならではですね。

0
出来ます。が、dir /w
のような複数行をどうやって変数に格納しますかね?
ver
のような1行であれば、
DOS
1for /f "delims=" %%A in ('ver') do set VERSION=%%A
投稿2017/08/09 04:32
総合スコア86281
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/09 05:40