Windows

Windows Batch:命令 FOR /F 和令牌,我如何從令牌 X 到行尾的變數?

  • October 20, 2020

好的,我這幾天一直在為此苦苦掙扎。我有一個有點複雜的腳本,但最後我只需要設置一個從 Token 4 到行尾的變數。基本上我執行一個命令,輸出的開頭有一些我不需要的單詞。但是對於簡歷,這就是我想要的:

set _EVer=Garbage Garbage Garbage This is an example
for /F "tokens=4*" %%G in ('echo "%_EVer%"') do set "_EVerC=%%G

我需要我得到“垃圾垃圾這是一個例子”的輸出設置一個變數“這是一個例子”

我嘗試了 tokens=4* 但只設置了第一個單詞,沒有別的。

歡迎任何意見:) 謝謝

正如 JosefZ 評論的那樣,解決方案是:

set _EVer=Garbage Garbage Garbage This is an example
for /F "tokens=3*" %%G in ("%_EVer%") do set "_EVerC=%%H"

設置 %%H 是修復。更多資訊https://ss64.com/nt/for.html

“如果子句導致多個值,則隱式定義額外的參數來保存每個值。這些參數按字母順序自動分配 %%H %%I %%J …(隱式參數定義)”

引用自:https://serverfault.com/questions/1039010