Devo estrarre il numero di versione da questa linea sorgente C # usando il file batch MSDOS:
public const int major_version = 2;
Il mio tentativo:
:: Extract the number-token from the major version string.
:: The number-token has a semicolon appended.
for /F "tokens=6" %%a in ( str_Major_REV) do set number_token=%%a
Ciò risulta nella variabile number_token
come 2;
.
Come posso rimuovere il ';'
?
{Il parametro ';'
viene utilizzato come separatore di riga delims
.}
Sfondo:
il file batch è gestito dal server di build Jenkins. Voglio che il file batch:
- Estrai il numero.
- Incrementa il numero e salva come variabile di ambiente / file batch.
- Sostituisci il numero originale con il numero incrementato.
- Usa il numero nel nome di una cartella.
- Utilizzare il numero in una versione / etichetta del sistema di gestione del codice.
Gli articoli 4 e 5 sono i motivi per cui ho bisogno di rimuovere il punto e virgola dal token numerico.
Ambiente
Windows server 2008
for %%A in (%str_Major_Rev%) do @set "number_token=%%A"
spazio, punto e virgola, virgola, tab sono tutti separatori di argomenti. Il ciclo imposta tutti gli elementi, ma l'ultimo rimarrà.
delims
contenente punto e virgola funziona bene su Vista, che dovrebbe essere lo stesso del 2008, e non è un "separatore di riga" (2) Rimuovere l'ultimo carattere%number_token:~0,-1%
(3) Rimuovere il punto e virgola ovunque%number_token:;=%