For 循环在批处理文件中无法正常工作
For loop not working properly in batch file
我正在尝试使用此批处理文件获取当前操作系统。它是:
@echo off
for /f "skip=1 tokens=1* delims= " %%a in ('wmic path win32_operatingsystem get caption') do set _os=%%a %%b %%c %%d
echo You are running %_os%.
goto :eof
我的操作系统是 windows 7,所以我预计它会 return:
You are running Microsoft Windows 7 Ultimate.
但是 returns 你是 运行 %c %d。
Why I am getting this result?
有几种方法,Mofi 已经在上面的评论中发布了一种方法,它已经演示了使用 /value
的主要更改。您还可以使用标题本身作为变量名及其值:
@echo off
for /f "delims=" %%a in ('wmic path win32_operatingsystem get caption /value') do set %%a>nul 2>&1
echo %caption%
我正在尝试使用此批处理文件获取当前操作系统。它是:
@echo off
for /f "skip=1 tokens=1* delims= " %%a in ('wmic path win32_operatingsystem get caption') do set _os=%%a %%b %%c %%d
echo You are running %_os%.
goto :eof
我的操作系统是 windows 7,所以我预计它会 return:
You are running Microsoft Windows 7 Ultimate.
但是 returns 你是 运行 %c %d。
Why I am getting this result?
有几种方法,Mofi 已经在上面的评论中发布了一种方法,它已经演示了使用 /value
的主要更改。您还可以使用标题本身作为变量名及其值:
@echo off
for /f "delims=" %%a in ('wmic path win32_operatingsystem get caption /value') do set %%a>nul 2>&1
echo %caption%