Ændr Variabel i Batch-fil til Kun "123" med Windows Indbyggede Funktioner

Hvordan kan en variabel i en batch-fil, der indeholder værdien "Abc_123", ændres til kun at indeholde "123" ved hjælp af indbyggede funktioner i et typisk Windows (Vista/2008) system?

For at ændre en variabel i en batch-fil fra "Abc_123" til "123" kan du bruge Windows batch scripting ved at definere variablen, bruge for-kommandoen til at parse den og gemme den nye værdi i en ny variabel.

Sådan ændres en variabel i en batch-fil til kun at indeholde "123" ved hjælp af indbyggede funktioner i Windows

For at ændre en variabel i en batch-fil, der indeholder værdien "Abc_123", til kun at indeholde "123", kan du bruge indbyggede funktioner i Windows batch scripting. Her er en trin-for-trin guide:

  1. Definer variablen med den oprindelige værdi.
  2. Brug for-kommandoen til at parse variablen og udtrække den ønskede del.
  3. Gem den nye værdi i en ny variabel.

Her er et eksempel på, hvordan du kan gøre dette:


@echo off
setlocal enabledelayedexpansion

:: Definer den oprindelige variabel
set myVar=Abc_123

:: Brug for-kommandoen til at udtrække "123"
for /f "tokens=2 delims=_" %%a in ("!myVar!") do (
    set newVar=%%a
)

:: Vis den nye variabel
echo Den nye værdi er: !newVar!

endlocal

Forklaring af koden:

  • setlocal enabledelayedexpansion: Aktiverer forsinket variabelekspansion, hvilket er nødvendigt for at kunne bruge !variable! syntaksen inden for en for-loop.
  • set myVar=Abc_123: Definerer den oprindelige variabel med værdien "Abc_123".
  • for /f "tokens=2 delims=_" %%a in ("!myVar!") do ( set newVar=%%a ): Bruger for-kommandoen til at splitte variablen ved hjælp af "_" som delimiter og gemmer den anden token (dvs. "123") i en ny variabel newVar.
  • echo Den nye værdi er: !newVar!: Viser den nye værdi af variablen.
  • endlocal: Afslutter den forsinkede variabelekspansion.

Ved at følge disse trin kan du nemt ændre en variabel i en batch-fil til kun at indeholde den ønskede del af dens oprindelige værdi.