2012-10-01 53 views
0

我必須使用批處理文件,並且必須解析其中一個參數。結果應該轉到批處理文件中的其中一個命令。批處理文件解析並返回結果

所以對於批處理文件中的參數中的一個是這樣的:

Lorem [ABC-1234] ipsum

一個批處理文件中的命令的需要從上面的參數的ABC-1234值。正則表達式的用法將會非常好,FINDSTR會發現它,但如果找到該模式,它會返回它的輸入。

echo Lorem [ABC-1234] ipsum | findstr /R "\[[A-Z]*\-[0-9]*\]"

這將返回:

echo Lorem [ABC-1234] ipsum

但我想獲得

ABC-1234

回答

2

假設有前[ABC-1234]沒有其他[]字符,那麼你可以使用FOR/F

for /f "eol=[ tokens=2 delims=[]" %%A in ("Lorem [ABC-1234] ipsum") do echo %%A 
0

FINDSTR確實返回整條生產線不僅是字符串你必須修剪結果,搜索本身

[A-Z]*-[0-9]* 

就夠了,或更好

([A-Z]*-[0-9]*) 

這個工程已經如上:

echo Lorem [ABC-1234] ipsum | findstr /R [A-Z]*-[0-9]*