質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

2回答

200閲覧

for/F ["ParsingKeywords"] {%% | %}Variable in ('Command') do Commandについて

geitsu

総合スコア14

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2018/05/13 03:52

編集2018/05/13 06:10

前提・実現したいこと

for/F ["ParsingKeywords"] {%% | %}Variable in ("LiteralString") do Command [CommandLineOptions] for/F ["ParsingKeywords"] {%% | %}Variable in ('Command') do Command [CommandLineOptions]

()の中が文字列の時は変数毎に文字列を代入して、コマンドを実行する構文だと理解しています。
しかし()の中がコマンドの時は変数にコマンドを代入することはできないので、この構文の意味が分かりません。
()の中がコマンドの時のこの構文がどのような意味を持つか教えてください。

該当のソースコード

@FOR /F "delims=" %%i IN ('@CALL %_CONDA_EXE% shell.cmd.exe activate %*') DO @SET "_TEMP_SCRIPT_PATH=%%i"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

()の中がコマンドの時は、変数にコマンドの実行結果を代入

ということですね。
(もう少し正確に言うと、標準出力への出力結果を行ごとにトークンに分解したものを代入)

for /F %i in ('dir') do echo %i

とか、適当な内容の test.txt を作って

for /F %i in ('type test.txt') do echo %i

とかするとわかると思います。

投稿2018/05/19 18:41

Nyaf

総合スコア108

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

geitsu

2018/05/21 14:25

ありがとうございました!
guest

0

一般に、こういう構文の説明では、[ ~ ]は省略可能を、{ ~ | ~ }は選択を示します。
構文が分かっても、意味がわからないと、駄目ですね。
コマンドプロンプトで、for /?を実行してみてください。詳しい説明が出ます。

投稿2018/05/13 04:39

編集2018/05/19 23:28
otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問