Extrahieren der Nebenversionsnummer aus der C # -Quelle mithilfe der MSDOS-Stapeldatei

416
Thomas Matthews

Ich muss die Versionsnummer aus dieser C # -Quellzeile mit MSDOS-Batchdatei extrahieren:

public const int major_version = 2; 

Mein Versuch:

:: 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 

Dies ergibt die Variable number_tokenals 2;.

Wie kann ich das entfernen ';'?

Hintergrund:
Die Batchdatei wird vom Jenkins Build Server ausgeführt. Ich möchte, dass die Batchdatei:

  1. Extrahieren Sie die Nummer.
  2. Erhöhen Sie die Nummer und speichern Sie sie als Umgebungsvariable.
  3. Ersetzen Sie die ursprüngliche Nummer durch die erhöhte Nummer.
  4. Verwenden Sie die Nummer in einem Ordnernamen.
  5. Verwenden Sie die Nummer in einer Version / Bezeichnung eines Code Management Systems.

Die Punkte 4 und 5 sind Gründe, aus denen ich das Semikolon vom Nummern-Token entfernen muss.

Umgebung
Windows Server 2008

0
(1) `delims`, das Semikolon enthält, funktioniert für Vista unter Vista. Dies sollte das gleiche wie 2008 sein und ist kein 'Trennzeichen'. (2) Zum Entfernen des letzten Zeichens`% number_token: ~ 0, -1% ` (3) Um das Semikolon irgendwo zu entfernen, "% number_token:; =%" dave_thompson_085 vor 5 Jahren 1
Eine viel einfachere Möglichkeit ist eine for-Schleife `für %% A in (% str_Major_Rev%) do @set" number_token = %% A "" Leerzeichen, Semocolon, Komma, Tabulator sind alles Argumentseparatoren. Die Schleife legt alle Elemente fest, aber der letzte bleibt erhalten. LotPings vor 5 Jahren 0

0 Antworten auf die Frage