Batch Variable erzeugen mit Leerzeichen und Klammern
Hallo an Alle,
ich habe eine lösbare Aufgabe und finde die richtige Schreibweise nicht. Ich muss eine Variable in einem Batchscript erzeugen mit folgendem Inhalt:
"Beispieltext (800)" also in etwa so:
In der Variable, die als Parameter an ein Proggi übergeben werden soll, muss genau der Wortlaut drinstehen,
wie oben angeführt, also mit allen Anführungszeichen, Leerzeichen und Klammern.
Kann mir jemand sagen wie ich die ganzen Sonderzeichen in die Variable rein bekomme? Sämtliche meiner Maskierungsversuche schlugen bis jetzt fehl.
ich habe eine lösbare Aufgabe und finde die richtige Schreibweise nicht. Ich muss eine Variable in einem Batchscript erzeugen mit folgendem Inhalt:
"Beispieltext (800)" also in etwa so:
Set var = "Beispieltext (800)"
In der Variable, die als Parameter an ein Proggi übergeben werden soll, muss genau der Wortlaut drinstehen,
wie oben angeführt, also mit allen Anführungszeichen, Leerzeichen und Klammern.
Kann mir jemand sagen wie ich die ganzen Sonderzeichen in die Variable rein bekomme? Sämtliche meiner Maskierungsversuche schlugen bis jetzt fehl.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 350854
Url: https://administrator.de/forum/batch-variable-erzeugen-mit-leerzeichen-und-klammern-350854.html
Ausgedruckt am: 22.12.2024 um 18:12 Uhr
11 Kommentare
Neuester Kommentar
Hallo,
Dann schau doch mal was in deiner Variabel var nun drin steht. Ein Set reicht dazu. Dazu solltest du folgende Ausgabe bekommen var = "Beispieltext (800)". Und was liefert dir ein var1="Beispieltext (800)" oder ein "var2=Beispieltext (800)" oder gar ein "var3=^"Beispieltext (800)^""? Vermutlich ist nicht das setzen der Variabel dein Problem sondern die weiterverarbeitung oder deren Ausgabe.
Das setzen einer Variabel ist das eine, das auswerten bzw. weiterverarbeiten etwas ganz anderes. Wo also ist dein
einzuordnen?
Gruß,
Peter
Dann schau doch mal was in deiner Variabel var nun drin steht. Ein Set reicht dazu. Dazu solltest du folgende Ausgabe bekommen var = "Beispieltext (800)". Und was liefert dir ein var1="Beispieltext (800)" oder ein "var2=Beispieltext (800)" oder gar ein "var3=^"Beispieltext (800)^""? Vermutlich ist nicht das setzen der Variabel dein Problem sondern die weiterverarbeitung oder deren Ausgabe.
Sämtliche meiner Maskierungsversuche schlugen bis jetzt fehl.
Hast du dazu Beispiele welche fehlschlugen?Das setzen einer Variabel ist das eine, das auswerten bzw. weiterverarbeiten etwas ganz anderes. Wo also ist dein
>>heuel, schluchz, gezeter...<<
Gruß,
Peter
Hallo,
Hast du die Güte uns deine Ausgaben auch mitzuteilen, und zwar so wie diré bei dir ausgegeben werden, inkl. Leerzeichen und allem? Nicht richtige Werte kann von " " bis "Guggelhupf" alles bedeuten. Und nur weil du ein Zeichen nicht siehst, ist es immer noch ein gültiges Zeichen aus deinen verwendeten Zeichensatz, z.B. das Leerzeichen. Das ist kein Nichts. Am besten die Ausgaben von dir hier in Code Tags gesetzt, dann bleiben auch Sonderzeichen erhalten
Was ergibt ein
Gruß,
Peter
Hast du die Güte uns deine Ausgaben auch mitzuteilen, und zwar so wie diré bei dir ausgegeben werden, inkl. Leerzeichen und allem? Nicht richtige Werte kann von " " bis "Guggelhupf" alles bedeuten. Und nur weil du ein Zeichen nicht siehst, ist es immer noch ein gültiges Zeichen aus deinen verwendeten Zeichensatz, z.B. das Leerzeichen. Das ist kein Nichts. Am besten die Ausgaben von dir hier in Code Tags gesetzt, dann bleiben auch Sonderzeichen erhalten
Was ergibt ein
@Echo off
Set Art = "Beispieltext (800)"
Set Art="Nur anders"
Set "Art=Noch anders"
Set Art1 = "Hier nur Quatsch"
Echo .
Echo und nun die Pruefung
echo %Art%
echo %Art %
Echo.
Echo Und nun das Set Kommando
set art
Pause
Gruß,
Peter
@hipfzwirgel
Sehr gut!
Dann bitte noch Wie kann ich einen Beitrag als gelöst markieren? beachten
Danke
Sehr gut!
Dann bitte noch Wie kann ich einen Beitrag als gelöst markieren? beachten
Zusätzlich sollte der Fragesteller die Antworten welche zur Lösungsfindung beigetragen haben, durch einen Klick auf "Zur Lösung beigetragen" neben der jeweiligen Antwort, markieren. Dies hilft Besuchern die Lösung für die Frage schneller aufzufinden.
Danke
Das erzeugt nicht den Variableninhalt den du glaubst.
@echo off &setlocal
:: falsch
set "test=^"123 (456)^""
echo scheinbar:
echo %test%
echo tatsaechlich:
set test
echo ~~~~~~~~~~~~
:: unkritisch
set test="123 (456)"
set test
echo ~~~~~~~~~~~~
:: kritisch
set "test="123 (456)""
set test
echo ~~~~~~~~~~~~
:: unkritisch
set ^"test="123 (456)"^"
set test
pause
rubberman