holzholer
Goto Top

HTA aus batch generieren

Hallo zusammen,

ich möchte eine HTA Datei aus einer Batch generieren. DH ich hab eine Quelldatei und möchte zu jeder Zeile dieser Quelldatei noch was hinzufügen. Hab auch schon ganz nette Anleitungen über die SUFU gefunden, aber mein Problem sind die spitzen Klammer, bzw die Anführungszeichen.

Hier mal mein Code:
For /F "delims=" %%i in (x.tmp) do (  
echo "%%i <br>" >> y.tmp  
)

REM blabla

:build_hta
type head.hta > asdf.hta
type y.tmp >> asdf.hta
type tail.hta >> asdf.hta
REM del *.tmp
start asdf.hta
del asdf.tha

Diese Version haut dann natürlich die " in meine y.tmp und damit in die HTA wo die aber unerwünscht sind (zumindest an dieser Stelle).

Natürlich ist dies erst die erste alpha, am ende soll das script natürlich mehr als nur ein BR zu jeder Zeile dazudichten.

Ich bin überzeugt wie das geht, aber kenne mich leider nicht gut genug wie ich die zeichen korrekt escapen oder sonstwie loswerden lassen.

Besten Dank für jede Idee,
holzholer

PS: Ich hab gesehen, dass es ein Script gibt mit dem alle " aus einer Datei entfernt werden können. dies geht bei mir nicht, da bei mir wahrscheinlich später doch noch " in der y.tmp landen sollen.

Content-Key: 116280

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

Printed on: April 19, 2024 at 04:04 o'clock

Member: holzholer
holzholer May 18, 2009 at 09:52:19 (UTC)
Goto Top
Juhu, habs grad selber gefunden. Einfach die spitzen Klammern mit einem ^ escapen und die " weglassen. der Code sieht dann so aus:

For /F "delims=" %%i in (x.tmp) do (  
echo %%i ^<br^> >> y.tmp
)

REM blabla

:build_hta
type head.hta > asdf.hta
type y.tmp >> asdf.hta
type tail.hta >> asdf.hta
REM del *.tmp
start asdf.hta
del asdf.tha

da hätte ich eigentlich schneller draufkommen müssen

Grüßle,
holzholer

[edit: typos]
Mitglied: 77559
77559 May 18, 2009 at 11:05:24 (UTC)
Goto Top
Hallo Holzholer,

wenn du die Reihenfolge in deiner Batch änderst, brauchst du keine temporäre Datei.

Ausserdem gibt es den <Pre> </Pre> Tag um vorformatierte Texte einbinden zu können.
Damit könntest du deine x.tmp einfach mit Type anhängen.

:build_hta
type head.hta > asdf.hta
echo ^<PRE^> >> asdf.hta
type x.tmp >> asdf.hta
echo ^</PRE^> >> asdf.hta
type tail.hta >> asdf.hta
start /wait asdf.hta
for %%A in (asdf.hta *.tmp) Do Del /Q "%%A"  

Gruß
LotPings
Member: holzholer
holzholer May 18, 2009 at 11:31:45 (UTC)
Goto Top
Hallo LotPings

Zitat von @77559:
wenn du die Reihenfolge in deiner Batch änderst, brauchst du
keine temporäre Datei.

Sorry, aber ich Versteh nicht wie du das meinst? In Verbindung mit dem PRE Tag?

Das PRE Tag kann ich nicht verwenden, da der Inhalt aus der x.tmp in der HTA Datei als Dropdown oder Radiobutton Auswahl angezeigt werden soll. Der Inhalt wird am Ende also kein unformatierter Text sein, sonder normaler html code der hat variabel erstellt wurde.

Das mit dem "Start /wait" und dem Del ist natürlich auch viel besser als meine ursprüngliche Version. Danke vielmals.

Grüße
Mitglied: 77559
77559 May 18, 2009 at 11:47:32 (UTC)
Goto Top
Zitat von @holzholer:
Der Inhalt wird am Ende also kein unformatierter Text sein, sonder normaler html code der hat variabel erstellt wurde.
OK, dann halt so
:build_hta
type head.hta > asdf.hta
For /F "delims=" %%i in (x.tmp) do (echo %%i^<br^>)>>asdf.hta  
type tail.hta >> asdf.hta
start /wait asdf.hta
for %%A in (asdf.hta *.tmp) Do Del /Q "%%A"  
Member: holzholer
holzholer May 18, 2009 at 11:53:33 (UTC)
Goto Top
Ah, jetzt hab ichs.

Super, Danke