philipp1992
Goto Top

Teil einer Zeile in einer .css Datei suchen und mit hilfe einer Batch ersetzen

Hallo zusammen,
Ich bin neu hier.
Ich stöbere schon seit längeren durch euer Forum und bis jetzt haben mir die Beispiele immer geholfen. Heute ist der Tag wo leider nichts mehr geht.
Ich denke mein Problem ist so speziell das ich mich traue einen eigenen Beitrag zu verfassen.


Ich habe eine .css Datei wo ich wenn mal ein Problem besteht einen teil einer Zeile ändern muss.
Dieser Absatz steht irgendwo in der .css Datei drin und kann leider auch irgendwann mal seine Position ändern.

Der Absatz der interessant ist :

.StoreMarquee span:after {
content:'TEST';
display: inline;
}

So sieht der Absatz aus.
Es geht um die Zeile Content: 'TEST';
Der Inhalt muss variieren.
Das Content: ''; muss bleiben nur das in den Gänsefüßchen darf sich verändern. Dort kommt dann ein anderer Text rein.
Ich habe dafür leider noch keinen Befehl gefunden, nur für das ändern der ganzen Zeile.

Ich habe die Batch als .cmd umgeändert, da meine Batch etwas mehr beinhaltet als diese eine Abfrage.
aber Menüpunkt 3 soll dies eben Abfragen.

Daher habe ich mir das so vorgestellt das wenn ich Menüpunkt 3 drücke, eine Abfrage kommt:

Welchen Satz wollen sie Schreiben: 'Hier kommt jetzt der Text rein' und dann soll dann die Batch in die .css reinschreiben und das alte was in den ' ' steht ersetzen.

Es konnte sein das ich mich jetzt ein bissel verhaspelt habe aber mich beschäftigt das schon seit 2 Tagen und langsam werde ich irre.

Ich danke dir schon mal fürs lesen.

Grüße
Philipp

Content-Key: 280084

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

Printed on: April 24, 2024 at 20:04 o'clock

Member: Dirmhirn
Dirmhirn Aug 13, 2015 updated at 08:55:12 (UTC)
Goto Top
Hi Philipp,

hast du schon überlegt ob es nicht sinnvoller wäre TEST durch eine Variable zu ersetzen? Wo wird die CSS Datei den genutzt - Website mit PHP? dann hättest du es mit PHP leichter.
(zb: http://www.webmasterpro.de/coding/article/php-in-css-dss-dynamic-style- ... (vor allem die Kommentare zum Cachen der CSS Datei unten beachten.)

willst du von einer Template-CSS Datei immer eine Kopie erstellen und dort den String TEST ersetzen oder soll immer die gleiche Datei abgeändert werden und du willst immer den String zwischen den '...' ersetzen?

sg Dirm
Member: Philipp1992
Philipp1992 Aug 13, 2015 at 09:19:34 (UTC)
Goto Top
Hi Dirmhirn,
Also die .css Datei muss leider bestehen bleiben.
Damit es besser verstanden werden kann. Wir will in Citrix oben wenn es ein Problem mit einer Anwendung gibt eine Fehlermeldung schalten können.
Die Fehlermeldung steht dann in '....' und wird dann per Laufschrift angezeigt. Wenn ich das Händisch eintrage geht das auch.
Die .css Datei wird dann auf den Citrix Server liegen wenn es klappt. Plan ist das ich mir die .cmd Datei als Citrix App zuweise und so nicht jedes mal auf den Server muss und dann auch noch den Datei Pfad finden muss und dann noch die Stelle in der Datei.
Ich muss dann eben nur einmal den richtigen Pfad in der .cmd hinterlegen.

Es kann gerne eine temp.css erstellt werden wo dann die neue Zeile drin ist und natürlich der Rest von der Datei.
Wenn die Datei dann erstellt ist kann die temp.css gerne zu der richtigen .css gemacht werden indem man sie umbenennt und die Alte dann obsolete .css kann dann gelöscht werden.

ist alles ein bissel schwieriger ich weiß ^^

es geht darum dann eine kleine gruppe von Personen die Möglichkeit hat die Laufschrift zu ändern. Die haben eben nicht alle den plan wo man auf den Server gucken muss.

Schon mal danke und Gruß
Philipp
Member: Dirmhirn
Dirmhirn Aug 13, 2015 at 09:28:36 (UTC)
Goto Top
Hi Philipp,

ah ok.
dann änder doch einfach die ganze Zeile, du kannst aj an die benutzereingabe einfach 'content:' und ';' anhängen. "content:' BENUTZEREINGABE';"

zum Finden der richtigen content: Zeile kannst du darüber ein Kommentar einfügen. Nach dem suchst du und ersetzt die Zeilte danach.
.StoreMarquee span:after {
  /* CONTENT #001*/
  content:'TEST';  
  display: inline;
} 

btw wenn du deinen Code in < code > ... < / code > Blöcke setzt, ist es in Zuunft leichter zu lesen. (falls du mal kompliziertern Code hast.)

sg Dirm
Member: Philipp1992
Philipp1992 Aug 13, 2015 at 10:36:55 (UTC)
Goto Top
Hi Dirmhirn,
kannst du mir auch das dementsprechende Batch file zeigen was das ändert.
Komme da leider gerade nicht drauf wie ich das realisieren soll.

Gruß
Philipp
Mitglied: 114757
114757 Aug 13, 2015 at 11:17:48 (UTC)
Goto Top
Powershell is your friend:
$file = 'c:\stylesheet.css'  
$newcontent = Read-Host "Geben Sie den neuen Text ein"  
(gc $file | out-string) -replace "(?si)(\.StoreMarquee span:after.*?content:')([^']*)'",('$1' + $newcontent + "'") | Set-Content $file  
Gruß jodel32