2017-06-05 34 views
0

在Windows批處理文件中,我想要返回值,即apkVerison編號。當我在命令行或批處理文件中運行gulp getVersion時,它工作正常。我想將版本號保存到批處理文件中的變量中。如何獲取Windows批處理文件中的返回值

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% 

該批處理文件不起作用。回聲只是回聲「一飲而盡getVersion」

對不起,我應該提到,當我運行一飲而盡,這是它的輸出

gulp getVersion 
[22:16:44] Using gulpfile ~\CareWheelsCorp\CareWheels\gulpfile.js 
[22:16:44] Starting 'getVersion'... 
Version = 9.1.13 
[22:16:44] Finished 'getVersion' after 1.91 ms 

正如你所看到的版本是藏在裏面,我需要的是9.1.13號

回答

1

它的工作非常愉快 - 就像您要求的那樣,的內容爲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% 
+0

對不起,當我運行一飲而盡我應該提到這是它的輸出 一飲而盡getVersion [22時16分44秒]使用gulpfile〜\ CareWheelsCorp \ CareWheels \ gulpfile.js [ 22:16:44]開始'getVersion'... 版本= 9.1.13 [22:16:44] 1.91 ms後完成'getVersion' 正如你所看到的版本被隱藏在裏面,我需要9.1。 13號。 –

+0

請將此數據編輯到您的問題中,因爲無法查看換行符可能會出現在哪裏,也不容易從此退貨中獲取您希望使用的信息。 – Magoo

+0

我編輯了我原來的問題,請查看它。所以@Magoo感謝您的答案,但它不起作用。對不起,我給了不完整的信息。 –

相關問題