假設版本是純粹的數字,不與零開始,下面應該這樣做:
set VAR=A-VERY-LONG-LINE-OF-GARBAGE-VERSION123-CONTINUE-LONG-LINE-OF-GARBAGE
set /A VAR=%VAR:*VERSION=%
echo VERSION%VAR%
如果發生多個VERSION
部分,第一個是拍攝。
注意,這適用於Windows命令提示符(cmd.exe
)只,它將不爲MS-DOS(command.com
)工作,由於其不支持有set /A
(我甚至不知道是否該字符串替換語法在那裏工作)!
萬一版本的代碼是不是純粹的數字,你可以使用以下命令:
set VAR=A-VERY-LONG-LINE-OF-GARBAGE-VERSION123-CONTINUE-LONG-LINE-OF-GARBAGE
set VAR=%VAR:*VERSION=%
for /F "tokens=1 delims=- eol=-" %%L in ("%VAR%") do (set VAR=%%L)
echo VERSION%VAR%
這依賴於該-
角色界定版本代碼的事實。
如果要直接在命令提示符而不是在批處理文件中嘗試此操作,請將%%L
替換爲%L
(兩次)。
所以在你的行版本後會有版本號整數,之後會有字母或特殊字符?將只有1個版本或多個數字或版本123 –
請向我們展示這些行的實際樣本 – Paul
請告訴我們您是否真的*在** MS-DOS **中工作,或者如果您正在使用命令提示符** Windows **,因爲後者支持很多附加功能...... – aschipfl