Tastaturlayout ändern - InputBox enthält falsche Zeichen
Hallo,
ich habe eine DOS-Box und möchte gerne eine richtige Textdarstellung. Statt ü wird " angezeigt usw. welchen Befehl muss ich einbauen?
Nicht funktioniert hat:
und auch die Codepage zu ändern
brachte leider keinen Erfolg ...
OKIDOKI
ich habe eine DOS-Box und möchte gerne eine richtige Textdarstellung. Statt ü wird " angezeigt usw. welchen Befehl muss ich einbauen?
Nicht funktioniert hat:
KEYB GR,,%WINDIR%\SYSTEM32\KEYBOARD.SYS
chcp 1252
OKIDOKI
@ECHO OFF & SETLOCAL
>%temp%\msgbox.vbs ECHO WScript.Echo InputBox("Wie wird das Wetter" ^& vbCrLf ^& _
>>%temp%\msgbox.vbs ECHO "heute?", _
>>%temp%\msgbox.vbs ECHO "ABFRAGE", _
>>%temp%\msgbox.vbs ECHO "", _
>>%temp%\msgbox.vbs ECHO "")
set "Eingabe="
for /f "delims=" %%i in ('cscript //nologo %temp%\msgbox.vbs') do set "Eingabe=%%i"
DEL "%temp%\msgbox.vbs"
ECHO %Eingabe%
Pause
Exit
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 228695
Url: https://administrator.de/forum/tastaturlayout-aendern-inputbox-enthaelt-falsche-zeichen-228695.html
Ausgedruckt am: 22.12.2024 um 18:12 Uhr
15 Kommentare
Neuester Kommentar
Hallo OKIDOKI!
Abgesehen davon, dass ich das etwas straffen würde, zB
funktioniert es bei mir (ohne Umschaltung der Default-Codepage 850) unter XP und W7 auch mit Umlauten ...
Grüße
bastla
Abgesehen davon, dass ich das etwas straffen würde, zB
@ECHO OFF & SETLOCAL
>%temp%\msgbox.vbs ECHO WScript.Echo InputBox("Wie wird das Wetter" ^& vbCrLf ^& "heute?", "ABFRAGE")
set "Eingabe="
for /f "delims=" %%i in ('cscript //nologo %temp%\msgbox.vbs') do set "Eingabe=%%i"
DEL "%temp%\msgbox.vbs"
ECHO %Eingabe%
PAUSE
Grüße
bastla
Hallo OKIDOKI!
Wenn Du nicht gleich den gesamten Ablauf in einem einzigen Script erledigst - etwa:
solltest Du als Zeile 7 den Wechsel der Codepage mit
einbauen und diesen ggf in Zeile 16 wieder rückgängig machen ...
Grüße
bastla
Wenn Du nicht gleich den gesamten Ablauf in einem einzigen Script erledigst - etwa:
@ECHO OFF & SETLOCAL
set "Script=%temp%\convert.vbs"
>%Script% ECHO Eingabe = InputBox("Wie wird das Wetter" ^& vbCrLf ^& "heute?", "ABFRAGE")
>>%Script% ECHO Datei = "beispiel.txt"
>>%Script% ECHO Set fso = CreateObject("Scripting.FileSystemObject")
>>%Script% ECHO T = fso.OpenTextFile(Datei).ReadAll
>>%Script% ECHO fso.CreateTextFile(Datei).Write Replace(T, "text", Eingabe)
cscript //nologo %Script%
del %Script%
Pause
chcp 1252>nul
Grüße
bastla
Hallo OKIDOKI!
Abgesehen davon, dass "DIM" ein denkbar schlechter Variablenname ist (da ein Sprachelement von VBS) - was genau hast Du damit vor?
Außerdem: Falls "Info" ein Text sein soll, fehlen Anführungszeichen; in der derzeitigen Fassung wird "Info" als Variable interpretiert und hat natürlich keinen Wert (woher auch) ...
Die Abhängigkeit von einer Eingabe lässt sich ansonsten so realisieren (Deine Zeile 6 ist syntaktisch nicht OK):
Als Einzeiler:
Der Doppelpunkt dient hier (vergleichbar mit dem "&" in Batch) dazu, mehrerer Befehle in eine Zeile zu schreiben.
Grüße
bastla
Abgesehen davon, dass "DIM" ein denkbar schlechter Variablenname ist (da ein Sprachelement von VBS) - was genau hast Du damit vor?
Außerdem: Falls "Info" ein Text sein soll, fehlen Anführungszeichen; in der derzeitigen Fassung wird "Info" als Variable interpretiert und hat natürlich keinen Wert (woher auch) ...
Die Abhängigkeit von einer Eingabe lässt sich ansonsten so realisieren (Deine Zeile 6 ist syntaktisch nicht OK):
If Eingabe = "" Then
WScript.Echo "Keine Eingabe"
Else
WScript.Echo "Eingabe erfolgt: " & Eingabe
WScript.Echo "Weitere Anweisung"
End If
If Eingabe = "" Then WScript.Echo "Keine Eingabe" Else WScript.Echo "Eingabe erfolgt: " & Eingabe : WScript.Echo "Weitere Anweisung"
Grüße
bastla
Hallo OKIDOKI!
Wenn Du den Inhalt der Variablen "Eingabe-b" (BTW: sollte mit zB "Eingabe nicht definiert" vorbelegt sein) in Batch benötigst, dann etwa mit folgenden Zeilen 20 und 21:
Grüße
bastla
Wenn Du den Inhalt der Variablen "Eingabe-b" (BTW: sollte mit zB "Eingabe nicht definiert" vorbelegt sein) in Batch benötigst, dann etwa mit folgenden Zeilen 20 und 21:
>>%Script% ECHO WScript.Echo Eingabe-b
for /f "delims=" %%i in ('cscript //nologo %Script%') do set "Eingabe-b=%%i"
bastla
Hallo OKIDOKI!
wobei ich eher (wie schon oben vorgeschlagen)
verwenden würde, da so %info% immer einen eindeutigen Inhalt hätte ...
Grüße
bastla
leider ist die Variable (jetzt info) bei einer fehlenden Eingabe totzdem belegt
Kann ich mit Deinem geposteten Code nicht nachvollziehen, aber Du kannst ja vor Zeile 10 einfügenset "info="
set "info=Eingabe nicht definiert"
Grüße
bastla