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%.

Mark Deven
quelle

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

DavidPostill
quelle
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