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

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

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

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

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

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

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

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

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

@echo off

echo 123

echo %errorlevel%

pause

echo 123 (用来显示输出的语句)

下一句的 errorlevel 则是对上一句的语句进行返回值

返回值一般有 0,1 (0=成功执行,1=执行失败)

有些语句甚至含有2的返回值

那么 echo 123 语句没有语法错误,所以返回值是 0

问题出在那一对括号()上。

①要么删除括号,其它不要修改;

② 要么保留括号,但使用延迟扩展,setlocal ENABLEDELAYEDEXPANSION

③ 两个小问题,pause换成got to end,添加一个end标签;getFileSize函数里面,set strFilePath=%1,后面不要添加%,虽然结果不受影响。

附一个版本:

@echo off & setlocal ENABLEDELAYEDEXPANSION

set /a nFileSize=0

call :getFileSize c:\apps\cpu-z\cpuz_x64.exe

echo !nFileSize!

goto end

:getFilesize

set strFilePath=%1

set /a nFileSize=0

for /f "delims=" %%i in ('dir  %strFilePath% /s/b') do set /a nFileSize=%%~zi

echo %nFileSize%

goto :EOF

:end

endlocal & @echo on


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11909580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存