Wildi 10 Geschrieben 6. Oktober 2003 Melden Teilen Geschrieben 6. Oktober 2003 Hallo Leute, bin zwar erst seit ein paar Stunden bei MCSEboard, aber in dieser Zeit habe ich schon so viel Hilfe erhalten, wie die letzten Wochen nicht mehr. Thema: Ich will das jetzt hinkriegen. Egal ob ich morgen in der früh einen Kunden habe oder nicht, dass muss jetzt funtzen und wenn's die ganze Nacht dauert :D Kennt den Spruch irgendjemand nicht?????????? Also als kleine Dankbarkeit. Weiß ja ned ob der Tip nicht schon zum alten Eisen gehört aber trotzdem. Neulich hätte ich eine Batchdatei erstellen wollen, welche ein %-Zeichen darstellen sollte. Das Problem ist, dass ein % eigentlich die Einleitung einer Variablen in einer Batchdatei ist. Also was tun? Versucht mal im Web eine Lösung zu erhalten - viel Spaß. Irgendwann so nach 2, 3 Stunden hab ich dann mal versucht das %-Zeichen zweimal hintereinander zu schreiben ... und voila ... GÄÄÄÄÄÄÄÄÄHHTTTTTTTTTTT Also, möchte man das Wort "abc%def" in einer Batchdatei dastellen lassen gibt man einfach "abc%%def" ein. Hoffe irgend jemanden damit geholfen zu haben Zitieren Link zu diesem Kommentar
real_tarantoga 11 Geschrieben 6. Oktober 2003 Melden Teilen Geschrieben 6. Oktober 2003 kannst auch mal den probieren echo so geht's auch --^> ^% ;) Zitieren Link zu diesem Kommentar
himbidas 10 Geschrieben 6. Oktober 2003 Melden Teilen Geschrieben 6. Oktober 2003 @Wildi - damit würde ich vorsichtig umgehen! z.B. wird in folgendem Konstrukt FOR %%x IN (1,2,3,4) DO echo %%x das doppelte % zwingend benötigt. Würde man ausserdem Deiner Logik folgen, müsste ich zur Darstellung des Zeichens > dafür ein >> notieren. REM hier soll als Text [b][i]Drei "ist groesser als" Zwei[/i][/b] dargestellt werden echo Drei > Zwei :: ergibt den Text [i]Drei[/i] umgeleitet in eine Datei namens [b]Zwei[/b]. Eine bestehende Datei [b]Zwei[/b] wird gelöscht und neue angelegt. :: naechster Versuch nach o.g. Logik echo Drei >> Zwei :: schreibt den Text [i]Drei[/i] eine Datei namens [b]Zwei[/b]. :: eine bestehende Datei wird erweitert. Falls sie nicht existiert, neu angelegt. Wie du leicht feststellen kannst, geht deine Lösung meisst nicht auf :( Zum "maskieren" von Zeichen mit besonderer Bedeutung (z.B. | [Pipe-Symbol], &, >, % ) in Batch-Dateien (bat und cmd) ist die Variante von real_tarantoga sicherer. Als "Maskierungs"-Symbol wird das ^ (Zirkumflex oder zu deutsch: Dachsymbol) benutzt. Man muss dabei nur beachten, dass man dieses Symbol nicht einfach so eingeben kann. Das Zirkumflex wird einmal eingegeben, gefolgt von dem zu maskierenden Zeichen. Also ^ tippen, danach > eingeben. echo Drei ^> Zwei gibt auf dem Screen Drei > Zwei aus. Und als Tipp nebenbei: Im obigen Codeschnippsel siehst Du nur einmal das REM. Damit werden ja bekanntlich Kommentare in Batchen notiert. In längeren Batches ist statt REM der doppelte Doppelpunkt :: günstiger. Hintergrund: Der Batchinterpreter "liest" eine Kommentarzeile bei REM bis zu Ende, um sie dann als Kommentar zu interpretieren (benötigt Zeit). Bei :: wird die Zeile sofort als Kommentar "erkannt" und übergangen. Bei gut kommentierten Batches mit vielleicht 2.000 Zeilen Quellcode und mehr (hab ich schon gesehen!) machen sich die eingesparten Lesezeiten der Kommentar schon bemerkbar. Thomas Zitieren Link zu diesem Kommentar
Wildi 10 Geschrieben 6. Oktober 2003 Autor Melden Teilen Geschrieben 6. Oktober 2003 Hey, dass nenn ich doch mal ausführlich :-) Dangä @himbidas Das mit dem %-Zeichen, da bin ich durch Zufall drauf gekommen, weil ich's mit ^% nicht gefunden bzw. nicht gewusst habe. Aber endlich steht darüber auch mal was im Web. Denn versuch mal darüber was zu finden. Jetzt sicher, weil die einzelnen Beiträge in den Suchmaschinen gefunden werden. Also merken immer 'dacherl vor's Zeichen :-) (bay. 'dacherl = Dachzeichen) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.