Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

Zwei Prozentzeichen vor einer Variable in neue .bat Datei schreiben?

Mitglied: Highend01
Hallo,

ich arbeite hier an einer Batchdatei, die ihre Inhalte in eine neue .bat Datei überträgt (die resultierende .bat Datei wird später auf verschiedenen Rechnern gestartet und muss dafür individualisiert werden).

Der Ausschnitt, um den es geht:


Das Resultat:


Was ich in der Zieldatei benötige, sind die doppelten Prozentzeichen vor dem A.

Wenn ich im Original jetzt allerdings 3 statt 2 Prozentzeichen verwende:


um die zwei Prozentzeichen zu erhalten, werden die beiden oberen Zeilen gar nicht mehr in die neue .bat Datei geschrieben.

Wie also bekomme ich ein doppeltes Prozentzeichen in der Zieldatei hin?

Tia,
Highend

Content-Key: 161519

Url: https://administrator.de/contentid/161519

Ausgedruckt am: 01.08.2021 um 22:08 Uhr

Mitglied: Snowman25
Snowman25 24.02.2011 um 15:03:56 Uhr
Goto Top
Hallo @,

Du musst die Prozentzeichen escapen, damit sie vom Batch-Interpreter als Text interpretiert werden.
Beispiel (direkt auf der Kommandozeile):

Gruß
Snow
Mitglied: Highend01
Highend01 24.02.2011 um 15:08:22 Uhr
Goto Top
Hi Snow,

wenn ich das tue


Dann bekomme ich als Ergebnis das hier raus:


D.h. beide Prozentzeichen, die escaped wurden, landen gar nicht mehr in der Zieldatei.

Gruß,
highend01
Mitglied: Snowman25
Snowman25 24.02.2011 um 15:13:15 Uhr
Goto Top
Also ECHO FOR /F "delims=~" ^%^%A IN ('ECHO %%username%%^> "%%temp%%\~%%username%%" ^& DIR /L /B "%%temp%%\~%%username%%"') DO (^>^> "%WorkingDir%\%username%.bat" funktioniert bei mir wunderbar.
Ich glaube, das ist immernoch dein vorheriges Ergebnis, da du vergessen hast, die 2 Umleitungszeichen nach dem DO ( zu maskieren.

Gruß
Snow
Mitglied: Highend01
Highend01 24.02.2011 um 15:27:01 Uhr
Goto Top
Mh, warum sollte ich die Umleitungszeichen für das Schreiben in die neue Batchdatei maskieren, das sollen ja keine "gedruckten Zeichen" werden, sondern dazu dienen, die Zeile der entsprechenden Datei anzufügen?

Wenn ich deine Zeile 1:1 übernehme, landet in der Zieldatei nur noch eine leere Zeile, statt der erwünschten


In der Dos Box wird die Zeile zudem aufgelistet (die Original.bat Datei gibt selbst nichts auf der CMD aus):


Gruß,
highend01
Mitglied: Snowman25
Snowman25 24.02.2011 um 15:32:22 Uhr
Goto Top
Tut mir leid Highend, aber dann liegt dein Fehler woanders.
Möglicherweise hier? Wörter in Echo verschwinden - werden gedreht

Gruß
Snow
Mitglied: bastla
bastla 24.02.2011 um 15:54:59 Uhr
Goto Top
Hallo Highend01 und Snow!

Das ist ausnahmsweise eine Situation, in der das Testen an der Kommandozeile nix bringt ...

In einem Batch werden Prozentzeichen verdoppelt benötigt - wenn ich also 2 im Ergebnis haben will, muss ich nicht 3, sondern 4 davon verwenden ...

Grüße
bastla
Mitglied: Highend01
Highend01 24.02.2011 um 16:09:13 Uhr
Goto Top
Jepp, das ist der Fehler, mit 4 Prozentzeichen bekomme ich in der Zieldatei dann auch tatsächlich die 2, die übrig bleiben sollen.

Danke für die Hilfestellung!
Mitglied: jeb-the-batcher
jeb-the-batcher 24.02.2011 um 16:23:10 Uhr
Goto Top
Hallo,

@Snowman25:
Das Escapen von %-Zeichen klappt nicht mit ^, sondern ausschliesslich mit % (also Effektiv %% wie bastla schon geschrieben hat).

Das % ist übrigens das einzige Zeichen welches nicht auf ^ reagiert

Grüße
jeb
Mitglied: Snowman25
Snowman25 24.02.2011 um 16:25:54 Uhr
Goto Top
Hallo jeb,

Dann hatte mein Gefühl doch recht, dass irgendetwas nicht ganz stimmt...
Ab und zu vergisst man sowas eben, wenn man selbst nie über das Problem stolpert :-) face-smile

Gruß
Snow
Heiß diskutierte Beiträge
question
USB Adapter wie PoE? gelöst HournenharmaVor 1 TagFrageHardware5 Kommentare

Ich habe einen Kunden, der will in seinem Ford mit SYNC2 sein RazerPhone 2 nutzen. Das Problem ist, dass die USB-A Anschlüsse max. 5W geben, ...

question
Hyper-V - verwaiste Snapshots löschenbasdschoVor 1 TagFrageHyper-V25 Kommentare

Hallo, mein Veeam machte bei einer installation Probleme und konnte plötzlich die Snapshots nicht mehr löschen. Kein Problem, Disks konsolidiert, alte Snapshot Dateien gelöscht. Nun ...

question
Fritzbox 6591 - cable gigabit - Fax einrichten wie lösbar ? gelöst daswinimramVor 1 TagFrageRouter & Routing14 Kommentare

Hallo Community und Admins ! Folgende Hardware : FRITZBOX 6591 an Vodafone Gigabit Kabelanschluss. 1 Rufnummer (SIP) eingetragen, funktioniert seit Jahren. Hintergrundwissen : Bei YodasPhone ...

question
USB 3 beißt sich mit 2,4Ghz Funkperipherie gelöst O-Two06Vor 1 TagFragePeripheriegeräte3 Kommentare

Hiho, ich habe nun schon einige Artikel über das leidige Thema gelesen, komme aber zu keiner Lösung. Ich habe Mini-PCs, bei denen nun leider mal ...

question
Fritzbox 7590 ersetzten gegen Modem + Router oder Router mit Modemindignus-estVor 1 TagFrageNetzwerke10 Kommentare

Hallo zusammen, nach langer Krankheit und Genesungszeit fasse ich jetzt mal wieder den Mut eine frage zustellen die mir schon seit längeren im Kopf herum ...

question
Ipv6 RouterliodiceVor 14 StundenFrageDSL, VDSL10 Kommentare

Hallo zusammen, ich hoffe ihr könnt mir weiterhelfen, ich benötigen einen ADSL Router (Kabelgebundenen) der IPv4 und IPv6 kann, also Dual Stack (DHCP Extern und ...

question
SSH Login nur möglich bei eingelogtem USERhell.wienVor 18 StundenFrageLinux Netzwerk17 Kommentare

habe einen Server (Debian) mit SSH (nur mit Public Key und auf einem Custom Port) und ufw aktiv. Ich kann mich nicht einlogen. Wenn ich ...

question
ProLiant DL380p G8 findet HP SAS-Festplatten MB3000FBUCN nicht ?IT-DAUVor 1 TagFrageServer-Hardware5 Kommentare

Hallo liebe Community! Kurz vorweg: ich bin Quereinsteiger in der IT-Branche und möchte nun als Vorbereitung zu meinem Ausbildungskurs bzw. für zu Hause ein bisschen ...