Wie kann ich Text vor einem Zeichen oder einer Zeichenfolge in einer Batchdatei extrahieren?


4

Ich suche im Grunde das Gegenteil von diesem Beitrag: https://stackoverflow.com/questions/47796707/how-to-extract-text-after-in-batch-file . Ich möchte den Text vor einem Gleichheitszeichen in einer Zeichenfolge extrahieren (oder den Text nach dem Gleichheitszeichen und dem Gleichheitszeichen entfernen).

Beispiel Eingabe:

User=Your Friend

Gewünschte Ausgabe:

User

Da die Länge des Textes vor und nach dem Gleichheitszeichen variiert, kann ich so etwas nicht verwenden %var:~0,-12%.

Antworten:


2

Ich möchte den Text vor einem Gleichheitszeichen in einer Textfolge extrahieren

Verwenden Sie die folgende Batchdatei (test.cmd):

@echo off
setlocal enabledelayedexpansion
set _string=User=Your Friend
echo %_string%
for /f "tokens=1 delims==" %%a in ("%_string%") do (
  echo %%a
  )
endlocal

Beispielausgabe:

> test
User=Your Friend
User

Weitere Lektüre


1
For-Loops sind die Antwort auf alles
Mark Deven

Hier ist keine verzögerte Erweiterung erforderlich.
LotPings

@LotPings Stimmt, ich habe es nur in meiner Vorlage, wenn es tatsächlich benötigt wird :)
DavidPostill
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.