怎么用bat得到一个命令执行后的返回值赋值给一个变量

比如执行wmicENVIRONMENTWHERE"Name='path'andUserName='<System>'"GETVariableValue会返回环境变量pat... 比如执行wmic ENVIRONMENT WHERE "Name='path'and UserName='<System>'" GET VariableValue会返回环境变量path的值,如何把返回值赋值给一个变量.直接set a=是不行的。 展开
 我来答
刺友互
高粉答主

2019-09-27 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:71.1万
展开全部

1、在电脑的桌面,右键新建一个.txt文件,将其文本打开。

2、在文本中输入我们需要执行的命令。

3、在文本中输入我们需要执行的命令。

4、最后输入暂停按钮=====  pause; 然后将其文本保存,关闭。

5、选择中文本,右键重命名为  .bat文件

6、重命名完成之后,会弹出一个更改文件后缀名的窗口,点击【确定】按钮。

7、双击运行刚刚编写.bat文件,查看输出内容,滑动滚动条上下移动。

两只路边的蚂蚁ls
推荐于2017-10-09 · TA获得超过4467个赞
知道大有可为答主
回答量:2127
采纳率:100%
帮助的人:1348万
展开全部

返回值赋值确实麻烦,因为有很多特殊字符。

不过,你这个例子,倒是有解。

 

请试试命令

echo %path%

 或者

set "a=%path%" 
echo %a%
pause
更多追问追答
追问
我得吧这个path 变量的值赋值给 一个变量,我要用这个变量,进行其他判断什么的。
或者完整点给你说吧,我是想判断系统环境变量里面一个名字叫做“xxx”的是否存在,如果存在,我要看他的值跟一个字符串是否相等,相等就不改变他的值,不想等我就改变,如果不存在,我就新增这个名为xxx的系统变量。是这样的,但不一定是path这个特殊的,可能是其他用户添加的系统变量,比如JAVA_HOME 或者其他的。
追答
用BAT的SET命令截取和判断字符是非常蛋疼的,劝你还是想想别的招吧。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sherlock423254
2021-06-16
知道答主
回答量:5
采纳率:0%
帮助的人:2272
展开全部

我是将返回值写入到文件,利用for循环读出来再赋值给变量a,迂回了下



@echo off

wmic diskdrive list brief |findstr Virtual|find /v /c "">%temp%\Vitual.txt

for /f %%i in (%temp%\Vitual.txt) do set a=%%i

echo VM Disk Num is:%a%

if %a% equ 0 (echo "Physical Machine") else (echo "Virtual Machine")

pause

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jd08139
2013-06-30 · TA获得超过3733个赞
知道大有可为答主
回答量:2174
采纳率:66%
帮助的人:2845万
展开全部
@ECHO OFF
FOR /f "skip=1 tokens=* delims=" %%a in ('wmic ENVIRONMENT WHERE "Name='path'and UserName='<System>'" GET VariableValue') do (
SET a=%%i)
PAUSE
追问

@ECHO OFF

FOR /f "skip=1 tokens=* delims=" %%a in ('wmic ENVIRONMENT WHERE "Name='path'and UserName='<System>'" GET VariableValue') do (

SET a=%%i)

PAUSE


其中的前面的%%a我改成了%%i,括号外我echo %a%。


运行,系统报错了

追答
@ECHO OFF
FOR /f "skip=1 tokens=* delims=" %%i in ('wmic ENVIRONMENT WHERE "Name='path'and UserName='<System>'" GET VariableValue') do (
SET a=%%i
GOTO a
)
:a
ECHO %a%
PAUSE
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式