わからないこと
バッチファイルでDOSコマンドを扱っています。
その中で、echo
文、for
文に関して分からないことがあります。
下のバッチファイル①とバッチファイル②の出力結果が違う理由が分かりません。
下の参考にしたサイトにもあるように、for
文で取り出したトークンは、半角スペースで区切ったものだと認識していたので、バッチファイル①の出力結果には納得しているのですが、バッチファイル②のように半角スペースを無視した上、トークンの区切りをカンマにして出力結果として出る理由が分かりません。
このような出力結果になる理由が書かれたサイト等あれば教えていただけますでしょうか。
バッチファイル①
バッチファイル
a.bat
1@echo off 2 3set str=1, 2 , 3 , 4 4echo %str% >A.txt 5for /f "tokens=1,2,3,4" %%a in (A.txt) do @echo %%a/%%b/%%c/%%d
コマンドプロンプト上の出力結果
1,/2/,/3
バッチファイル②
バッチファイル
a.bat
1@echo off 2 3set str=1, 2 , 3 , 4 4for /f "tokens=1,2,3,4" %%a in ('echo %str%') do @echo %%a/%%b/%%c/%%d
コマンドプロンプト上の出力結果
1/2/3/4
参考にしたサイト
環境
OS : Win10
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/05 01:14
2021/04/05 01:33