Entfernen von doppelten Anführungszeichen aus Variablen in einer Batch-Datei

Siddharth Bishnoi 20 März 2023
  1. Entfernen von doppelten Anführungszeichen mit dem Tilde-Zeichen in einer Batch-datei
  2. Entfernen aller umgebenden doppelten Anführungszeichen aus den Variablen in einer Batch-Datei
  3. Entfernen Sie doppelte Anführungszeichen mit der FOR-Schleife in einer Batch-Datei
Entfernen von doppelten Anführungszeichen aus Variablen in einer Batch-Datei

In Batch-Dateien müssen Variablen, die mehrere Wörter oder Leerzeichen enthalten, in doppelte Anführungszeichen gesetzt werden, aber manchmal möchten wir nicht, dass diese Anführungszeichen in der Ausgabe angezeigt werden. Diese Anführungszeichen können aus Variablen in Batch-Dateien entfernt werden.

Es gibt viele Möglichkeiten, doppelte Anführungszeichen aus Variablen zu entfernen. Einige Methoden verursachen Probleme mit der CMD-Umgebung, was zu Fehlern in Ihrer Batch-Datei führen kann.

Wir besprechen alle Methoden und Möglichkeiten. In diesem Lernprogramm wird das Entfernen doppelter Anführungszeichen aus Variablen in einer Batch-Datei erläutert.

Entfernen von doppelten Anführungszeichen mit dem Tilde-Zeichen in einer Batch-datei

Doppelte Anführungszeichen können aus Variablen in einer Batch-Datei mit dem Tilde-Zeichen (~) entfernt werden. Das Tilde-Zeichen (~) wird in Batch-Dateien auf vielfältige Weise verwendet.

Abgesehen davon, dass es sich um das Entfernen von Argumentzitaten handelt, wird es auch verwendet, um eine Teilzeichenfolge aus einer Zeichenfolgenvariablen in einer Batch-Datei zu extrahieren. Um Anführungszeichen aus Variablen zu entfernen, verwenden Sie %~ vor dem Befehlszeilenargument, aus dem Anführungszeichen entfernt werden müssen.

Es entfernt alle umgebenden Anführungszeichen aus dem Parameter.

set A=%~1
set parameters=%~2 %~3
%A% %parameters%

Dabei gibt %1 den ersten an die Batch-Datei übergebenen Kommandozeilenparameter an, %2 den zweiten Kommandozeilenparameter und so weiter. Es behandelt nur Parameter bis %9.

Diese Methode funktioniert jedoch nur für den an Batch-Dateien übergebenen Befehlsparameter, nicht für die Variablen. Benutzer verwenden dies häufig für Variablen, was zu Fehlern während der Ausführung der Batch-Datei führt.

Entfernen aller umgebenden doppelten Anführungszeichen aus den Variablen in einer Batch-Datei

Eine andere Möglichkeit, doppelte Anführungszeichen aus Variablen zu entfernen, ist die Verwendung von %var:"=% in Batch-Dateien. Dies kann verwendet werden, um doppelte Anführungszeichen aus beliebigen Zeichenfolgen oder Variablen zu entfernen.

Sie können entweder Anführungszeichen von jedem der Enden entfernen, d. h. äußere Anführungszeichen, oder alle Anführungszeichen auf einmal entfernen. Die grundlegende Syntax lautet:

set variable=%variable:"=%

Das folgende Beispiel zeigt, wie Sie alle Anführungszeichen aus einer Variablen in einer Batch-Datei entfernen:

set var1="Hello World"
set var1
set var1=%var1:"=%
set var1
PAUSE

Alle Anführungszeichen aus einer Variablen entfernen

Der obige Code funktioniert jedoch nicht, wenn die Variable ein &-Zeichen enthält.

Neben dem Entfernen von doppelten Anführungszeichen aus Variablen können Sie diese auch durch einfache Anführungszeichen oder ein beliebiges anderes Zeichen ersetzen. Sie können auch Wörter in den Variablen mit dem obigen Code ersetzen.

Ersetzen Sie doppelte Anführungszeichen durch einfache Anführungszeichen in einer Batch-Datei

Um doppelte Anführungszeichen durch einfache Anführungszeichen zu ersetzen, fügen Sie das einfache Anführungszeichen nach dem Gleichheitszeichen hinzu, wie im folgenden Beispiel gezeigt.

set var1="Hello World"
set var1
set var1=%var1:"='%
set var1
PAUSE

Doppelte Anführungszeichen durch einfache Anführungszeichen ersetzen

Ersetzen Sie Wörter aus Variablen in einer Batch-Datei

Um ein Wort aus einer Variablen in einer Batch-Datei durch ein beliebiges anderes Wort zu ersetzen, ändern Sie den obigen Code wie im folgenden Beispiel gezeigt:

set var1="Hello World"
set var1
set var1=%var1:World=Hannah%
set var1
PAUSE

Wort in Variable ersetzen

Entfernen Sie doppelte Anführungszeichen mit der FOR-Schleife in einer Batch-Datei

Die doppelten Anführungszeichen können auch mit der for-Schleife aus einer Variablen in Batch-Dateien entfernt werden. Fügen Sie die folgende Zeile in Ihre Batch-Datei ein, wie im folgenden Beispiel gezeigt, um doppelte Anführungszeichen aus Variablen zu entfernen.

SET var1="Hello World"
ECHO %var1%
FOR /F "delims=" %%I IN (%var1%) DO SET new_var1=%%I
ECHO %new_var1%
PAUSE

Doppelte Anführungszeichen mit FOR-Schleife entfernen

Sie können auch eine Batch-Datei erstellen, die den einzeiligen Code für die FOR-Schleife enthält, um doppelte Anführungszeichen zu entfernen, und sie als .cmd-Datei speichern. Außerdem können Sie mit dem Befehl CALL ihn direkt in einer anderen Batch-Datei verwenden, um doppelte Anführungszeichen aus Variablen zu entfernen.

Beachten Sie, dass dies bei nicht übereinstimmenden Zitaten nicht funktioniert. Sie können auf das SS64-Forum verweisen, indem Sie hier klicken, um mehr zu erfahren.

Also haben wir besprochen, wie man doppelte Anführungszeichen aus Variablen in einer Batch-Datei mit verschiedenen Methoden entfernt. Außerdem werden die Einschränkungen am Ende jeder Methode erwähnt.

Verwandter Artikel - Batch Variable