亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Windows中的變量中獲取命令的結果?

如何在Windows中的變量中獲取命令的結果?

HUX布斯 2019-08-16 16:35:26
如何在Windows中的變量中獲取命令的結果?我希望將命令的結果作為Windows批處理腳本中的變量??梢栽?bat文件中使用的解決方案是首選,但也歡迎其他常見的Windows腳本解決方案。
查看完整描述

3 回答

?
弒天下

TA貢獻1818條經驗 獲得超8個贊

如果必須捕獲所有命令輸出,則可以使用如下批處理:


@ECHO OFF

IF NOT "%1"=="" GOTO ADDV

SET VAR=

FOR /F %%I IN ('DIR *.TXT /B /O:D') DO CALL %0 %%I

SET VAR

GOTO END


:ADDV

SET VAR=%VAR%!%1


:END

所有輸出行都存儲在VAR中,以“!”分隔。


@John:這有什么實際用途嗎?我認為您應該觀看PowerShell或任何其他能夠輕松執行腳本任務的編程語言(Python,Perl,PHP,Ruby)


查看完整回答
反對 回復 2019-08-16
?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

多年來,謙遜的命令積累了一些有趣的能力:


D:\> FOR /F "delims=" %i IN ('date /t') DO set today=%i

D:\> echo %today%

Sat 20/09/2008

請注意,"delims="覆蓋默認空格和制表符分隔符,以便date命令的輸出一次全部吞噬。


要捕獲多行輸出,它仍然可以基本上是單行(使用變量lf作為結果變量中的分隔符):


REM NB:in a batch file, need to use %%i not %i

setlocal EnableDelayedExpansion

SET lf=-

FOR /F "delims=" %%i IN ('dir \ /b') DO if ("!out!"=="") (set out=%%i) else (set out=!out!%lf%%%i)

ECHO %out%

要捕獲管道表達式,請使用^|:


FOR /F "delims=" %%i IN ('svn info . ^| findstr "Root:"') DO set "URL=%%i"


查看完整回答
反對 回復 2019-08-16
  • 3 回答
  • 0 關注
  • 1115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號