- ベストアンサー
VERコマンド実行結果を変数にセットしたい
VERコマンドを実行すると次の様に表示されます。 C:\>ver Microsoft Windows [Version 6.0.6002] VER 質問:VER実行結果の「Microsoft Windows [Version 6.0.6002]」を、 変数「A」にセットしたいのですが、 そのコードを教えて下さい。 最終目的は、「6002」を表示させたいのですが良い方法があればご教授ください。 set V="%A:~31,4%" echo %os% pause
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
delimsは区切り記号、tokensは何番目か、です。 delims=.] とすると、. か ] が出てくるところで区切られます。 これにより「Microsoft Windows [Version 6.0.6002]」は 1=Microsoft Windows [Version 6 2=0 3=6002 4= (空文字列。 ] の後ろにある文字列を指す) に分割され、tokens=3、すなわち3番目の文字列を指定します。 単純に delims=. とすれば3番目の文字列が 6002] となってしまい、この後 ] の文字を取り除く処理が必要となりますが、delims=.] とすることで、この処理を一緒にやってしまえる訳です。
その他の回答 (2)
- luka3
- ベストアンサー率72% (453/623)
こんな方法で、どうでしょう for /f "delims=.] tokens=3" %%i in ('ver') do set V=%%i
補足
質問 「delims=.]」と「tokens=3」の意味を教えて下さい
- chie65536(@chie65535)
- ベストアンサー率44% (8802/19961)
for /f "DELIMS=" %A IN ('ver') do set A=%A バッチ内で使う場合は for /f "DELIMS=" %%A IN ('ver') do set A=%%A set v=%A:~34,4% echo %v%
お礼
luka3さん、ご丁寧な回答ありがとうございました。 実は「delimsは区切り記号、tokensは何番目か」の意味合いが理解できず…困っていました。 正しい意味合いを理解して利用できることに感謝します。 以上