在Windows批处理文件中,我想要返回值,即apkVerison编号。当我在命令行或批处理文件中运行gulp getVersion时,它工作正常。我想将版本号保存到批处理文件中的变量中。
gulpfile.js:
gulp.task('getVersion', function () {
var data = require('./package.json')
console.log('Version = ' + data.apkDependencies.apkVersion)
return data.apkDependencies.apkVersion;
});
abc.bat:
set x=gulp getVersion
echo %x%
批处理文件不起作用。 echo 只是回显 "gulp getVersion">
对不起,当我运行 gulp 时我应该提到这是它的输出
gulp getVersion
[22:16:44] Using gulpfile ~CareWheelsCorpCareWheelsgulpfile.js
[22:16:44] Starting 'getVersion'...
Version = 9.1.13
[22:16:44] Finished 'getVersion' after 1.91 ms
如您所见,版本隐藏在里面,我需要那个 9.1.13 号码
它运行得非常愉快 - 就像您要求的那样,echo
x
的内容。
如果要执行x
的内容,则需要
%x%
如果你想得到返回值,你需要
for /f "delims=" %%r in ('%x%') do set "return=%%r"
echo %return%
(假设可执行文件响应的结果来自stdout
)
鉴于澄清,
for /f "tokens=1*delims== " %%r in ('%x%') do if "%%r"=="Version" set "return=%%s"
echo %return%