Ausgelesene Variable enthält Leerzeichen
Ausgelesene Variable enthält Leerzeichen
Hallo Gemeinde,
ich versuche gerade im Internet Explorer Paket eine Installation der passenden MUI für den IE9 mit einzubauen.
Wir haben 9 verschiedene Sprachen im Einsatz. Windows 7 wird in der englischen Vesion ausgerollt und in den OS Templates sind dann die Sprachpakete eingebunden.
Um den IE 9 jetzt auch mit der passenden MUI auszurollen, habe ich folgendes vor:
Set UILang=%%HKLM,"SYSTEM\CurrentControlSet\Control\MUI\Settings","PreferredUILanguages"%%
ReplaceEnv UILang
Die ausgelesene Sprache würde ich dann wie folgt nutzen um die Installation der MUI Datei aufzurufen:
Call "%SRC%\Daten\IE9-Windows6.1-LanguagePack-x64-%UILang%.msu" /quiet
Das auslesen des Wertes %UILang% klappt sauber, aber der anschließende Call Aufruf bricht dann mit folgender Meldung ab:
Fehler 2 (is klar)!
\EMPSERVER\Configurator$\Packages\Microsoft\Internet Explorer\9.0\aten\IE9-Windows6.1-LanguagePack-x64-de-DE .msu /quiet
Wie man in rot sieht habe ich 3 Probleme:
1. nur einen \ am Anfang (ist das normal ?)
2. \aten\ anstelle von \Daten\ (evtl. nur ein Darstellungsproblem in der FM Box, da genau dort der Zeilenumbruch ist?)
3. Wohl das Hauptproblem, der ausgelesene Wert Set UILang=%%HKLM,"SYSTEM\CurrentControlSet\Control\MUI\Settings","PreferredUILanguages"%% enthält ca. 4 bis 5 Leerstellen nach dem Wert ("de-DE ") wenn ich diese Variable dann übernehme, kann der Aufruf zur MUI Installation natürlich nicht klappen.
Wie bekomme ich die Leerstellen weg?
Danke für Eure Hilfe.
D.E.
ich versuche gerade im Internet Explorer Paket eine Installation der passenden MUI für den IE9 mit einzubauen.
Wir haben 9 verschiedene Sprachen im Einsatz. Windows 7 wird in der englischen Vesion ausgerollt und in den OS Templates sind dann die Sprachpakete eingebunden.
Um den IE 9 jetzt auch mit der passenden MUI auszurollen, habe ich folgendes vor:
Set UILang=%%HKLM,"SYSTEM\CurrentControlSet\Control\MUI\Settings","PreferredUILanguages"%%
ReplaceEnv UILang
Die ausgelesene Sprache würde ich dann wie folgt nutzen um die Installation der MUI Datei aufzurufen:
Call "%SRC%\Daten\IE9-Windows6.1-LanguagePack-x64-%UILang%.msu" /quiet
Das auslesen des Wertes %UILang% klappt sauber, aber der anschließende Call Aufruf bricht dann mit folgender Meldung ab:
Fehler 2 (is klar)!
\EMPSERVER\Configurator$\Packages\Microsoft\Internet Explorer\9.0\aten\IE9-Windows6.1-LanguagePack-x64-de-DE .msu /quiet
Wie man in rot sieht habe ich 3 Probleme:
1. nur einen \ am Anfang (ist das normal ?)
2. \aten\ anstelle von \Daten\ (evtl. nur ein Darstellungsproblem in der FM Box, da genau dort der Zeilenumbruch ist?)
3. Wohl das Hauptproblem, der ausgelesene Wert Set UILang=%%HKLM,"SYSTEM\CurrentControlSet\Control\MUI\Settings","PreferredUILanguages"%% enthält ca. 4 bis 5 Leerstellen nach dem Wert ("de-DE ") wenn ich diese Variable dann übernehme, kann der Aufruf zur MUI Installation natürlich nicht klappen.
Wie bekomme ich die Leerstellen weg?
Danke für Eure Hilfe.
D.E.
Re: Ausgelesene Variable enthält Leerzeichen
Hallo Dirk,
Das ist als ein Workaround anzusehen. Es gibt bestimmt eine schönere Lösung.
Gruß
Roman
etwa so:Wie bekomme ich die Leerstellen weg?
Code: Select all
If Right("%UILang%", 1)=" " Then "RemoveBlank" EndIf
[RemoveBlank]
Set UILang=RemoveFromRight("%UILang%", 1)
Echo |%UILang%|<--
If Right("%UILang%", 1)=" " Then "RemoveBlank" EndIfGruß
Roman
Re: Ausgelesene Variable enthält Leerzeichen
Hallo Roman,
werde es auf jeden Fall mal testen. Danke Dir!
Gruß,
Dirk
EDIT: Klappt leider nicht
, geht über die 1. Zeile (If Right("%UILang%", 1)=" " Then "RemoveBlank" EndIf) einfach drüber weg.
werde es auf jeden Fall mal testen. Danke Dir!
Gruß,
Dirk
EDIT: Klappt leider nicht
Re: Ausgelesene Variable enthält Leerzeichen
beinhaltet die Variable wirklich Leerzeichen am Ende oder kommen die bei der Auflösung später dazu?
Man kan das mit dem Echo testen:
Man kan das mit dem Echo testen:
Code: Select all
ReplaceEnv UILang
Echo %UILang%|Re: Ausgelesene Variable enthält Leerzeichen
Genau so habe ich das getestet, nur mit einem L hinter der Variable.
Sieht dann so aus:
"de-DE____L" (Leerzeichen werden hier irgendwie rausgelöscht, deshalb Unterstriche!)
Sieht dann so aus:
"de-DE____L" (Leerzeichen werden hier irgendwie rausgelöscht, deshalb Unterstriche!)
Re: Ausgelesene Variable enthält Leerzeichen
Den rekursiven Aufruf habe ich schon mal eingesetzt...
Könntest du bitte deine Setup.inf posten?
Könntest du bitte deine Setup.inf posten?
Re: Ausgelesene Variable enthält Leerzeichen
Ich denke ich habs, so zeigt ECHO auf jeden Fall den Wert ohne Leerstellen an:
[Set:UILang]
Set UILang=%%HKLM,"SYSTEM\CurrentControlSet\Control\MUI\Settings","PreferredUILanguages"%%
ReplaceEnv UILang
Set UILang_Test=RemoveFromRight ("%UILang%", 1)
Echo %UILang_Test%
Wenn ich das richtig verstehe, dann muss ein neuer Variablenname für den Wert mit abgeschnittenen Leerstellen erstellt werden. Kann das sein?
[Set:UILang]
Set UILang=%%HKLM,"SYSTEM\CurrentControlSet\Control\MUI\Settings","PreferredUILanguages"%%
ReplaceEnv UILang
Set UILang_Test=RemoveFromRight ("%UILang%", 1)
Echo %UILang_Test%
Wenn ich das richtig verstehe, dann muss ein neuer Variablenname für den Wert mit abgeschnittenen Leerstellen erstellt werden. Kann das sein?
Re: Ausgelesene Variable enthält Leerzeichen
Hallo,
statt removefrom right wäre hier doch die Left-Funktion viel schöner. Es sind ja immer 5 Zeichen die benötigt werden und die stehen am Anfang.
also im obigen Kontext
Set UILang_test=Left("%UILang%",5)
Mit Gruss aus Hannover
Thomas
statt removefrom right wäre hier doch die Left-Funktion viel schöner. Es sind ja immer 5 Zeichen die benötigt werden und die stehen am Anfang.
also im obigen Kontext
Set UILang_test=Left("%UILang%",5)
Mit Gruss aus Hannover
Thomas
Alles wird gut...irgendwann....irgendwo....
Empirum 16.1.3
Empirum 16.1.3
Re: Ausgelesene Variable enthält Leerzeichen
Stimmt, macht mehr Sinn!
Läuft jetzt so wie gewollt!
Danke und Grüße aus OWL,
Dirk
Läuft jetzt so wie gewollt!
Danke und Grüße aus OWL,
Dirk
Who is online
Users browsing this forum: No registered users and 2 guests