แยกหมายเลขรุ่นรองจากแหล่ง C # โดยใช้ไฟล์แบตช์ MSDOS


0

ฉันต้องการแยกหมายเลขรุ่นจากบรรทัดซอร์ส C # นี้โดยใช้ไฟล์แบตช์ MSDOS:

public const int major_version = 2;

ความพยายามของฉัน:

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

ซึ่งจะส่งผลในตัวแปรเป็นnumber_token2;

ฉันจะลบได้';'อย่างไร
{The ';'ถูกใช้เป็นตัวคั่นบรรทัดโดยdelimsพารามิเตอร์}

พื้นหลัง:
ไฟล์แบตช์รันโดย Jenkins build server ฉันต้องการแบตช์ไฟล์เป็น:

  1. แยกจำนวน
  2. เพิ่มจำนวนและบันทึกเป็นตัวแปรไฟล์สภาพแวดล้อม / แบตช์
  3. แทนที่หมายเลขเดิมด้วยหมายเลขที่เพิ่มขึ้น
  4. ใช้หมายเลขในชื่อโฟลเดอร์
  5. ใช้หมายเลขในฉลาก / เวอร์ชันของระบบการจัดการรหัส

รายการ 4 และ 5 เป็นเหตุผลที่ฉันต้องการลบเครื่องหมายอัฒภาคออกจากโทเค็นตัวเลข

สภาพแวดล้อม
Windows Server 2008


1
(1) delimsที่มีเครื่องหมายอัฒภาคทำงานได้ดีสำหรับฉันใน Vista ซึ่งควรเป็นเช่นเดียวกับปี 2008 และไม่ใช่ 'ตัวคั่นบรรทัด' (2) ในการลบอักขระตัวสุดท้าย%number_token:~0,-1%(3) เพื่อลบเครื่องหมายอัฒภาคได้ทุกที่%number_token:;=%
dave_thompson_085

วิธีที่ง่ายกว่าคือสำหรับfor %%A in (%str_Major_Rev%) do @set "number_token=%%A"Space Loop , semocolon, comma, tab เป็นตัวแยกอาร์กิวเมนต์ทั้งหมด ลูปจะตั้งค่ารายการทั้งหมด แต่สุดท้ายจะยังคงอยู่
LotPings
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.