Problem mit der Eingabe durch user in einem batch Skript
Hi @,
ich habe ein batchprogramm geschrieben, dass auf bestimmte Werte in der Eingabe triggert.
Wenn ich das bei einer konstanten Zeichenfolge laufen lasse funktioniert das ganze einwandfrei
Aber wenn ich die Variable mit
vom User einlesen will dann triggert er nicht mehr
Ich hab Ger als Tastatur und denke, dass es vlt daran liegt, dasss bei der batch vermutlich USA Tastatur verwendet wird
daher 2 Fragen:
weiss einer wie man vlt die Tastatur oder die Codepages im batch-file umstellen bzw synchronisieren kann
oder:
Weiss einer wie ich die Werte via Universalcode (vlt ASCI-Code) synchronisieren kann
Danke für die Mühe im Voraus und gl hf,
arael995
ich habe ein batchprogramm geschrieben, dass auf bestimmte Werte in der Eingabe triggert.
Wenn ich das bei einer konstanten Zeichenfolge laufen lasse funktioniert das ganze einwandfrei
Aber wenn ich die Variable mit
set /P Variable=
Ich hab Ger als Tastatur und denke, dass es vlt daran liegt, dasss bei der batch vermutlich USA Tastatur verwendet wird
daher 2 Fragen:
weiss einer wie man vlt die Tastatur oder die Codepages im batch-file umstellen bzw synchronisieren kann
oder:
Weiss einer wie ich die Werte via Universalcode (vlt ASCI-Code) synchronisieren kann
Danke für die Mühe im Voraus und gl hf,
arael995
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 173506
Url: https://administrator.de/forum/problem-mit-der-eingabe-durch-user-in-einem-batch-skript-173506.html
Ausgedruckt am: 27.12.2024 um 19:12 Uhr
5 Kommentare
Neuester Kommentar
Aloha,
macht für mich relativ wenig Sinn, ausgenommen, du willst zwangsläufig (deutsche) Umlaute dort eingegeben haben ...
Da wir nicht wissen, wie du triggerst, sprich, was mit der Variable geschieht, ist eine Lösungsfindung schwierig, an sich jedoch dürfte bei der Eingabe lateinischer Buchstaben und arabischen Zahlen batch ziemlich egal sein, wie sie ins Programm kommen (brauchst ja bloß mal, dein Eingabegebietsschema auf US ändern ...)
Wenn ein Problem mit DE-US besteht, dann eventuell eher beim Verarbeiten der Variable. Aber meine Kristallkugel ...
greetz André
P.S.: chcp - ganz toller Befehl
macht für mich relativ wenig Sinn, ausgenommen, du willst zwangsläufig (deutsche) Umlaute dort eingegeben haben ...
Da wir nicht wissen, wie du triggerst, sprich, was mit der Variable geschieht, ist eine Lösungsfindung schwierig, an sich jedoch dürfte bei der Eingabe lateinischer Buchstaben und arabischen Zahlen batch ziemlich egal sein, wie sie ins Programm kommen (brauchst ja bloß mal, dein Eingabegebietsschema auf US ändern ...)
Wenn ein Problem mit DE-US besteht, dann eventuell eher beim Verarbeiten der Variable. Aber meine Kristallkugel ...
greetz André
P.S.: chcp - ganz toller Befehl
Aloha,
chcp an sich bewirkt auch nichts, du musst schon selbst die gewollte, neue Codepage mit angeben ...
Also du has die Wahl:
oder eben
greetz André
chcp an sich bewirkt auch nichts, du musst schon selbst die gewollte, neue Codepage mit angeben ...
Also du has die Wahl:
- wenn du die Abfrage mit Umlauten gestaltest, dann bearbeite entweder die batch am CMD mit EDIT X:\PfadZur\batch.bat und schreibe dort die Umlaute rein und speichere dann.
@echo off & setlocal
set /p Eingabe=
if /i %Eingabe% equ echo Umlaut durch EDIT erkannt
if /i %Eingabe% neq ü echo Umlaut nicht erkannt (das hier wurde ohne EDIT geschrieben)
pause
goto :eof
oder eben
- mit chcp 1252
set /p Eingabe=
chcp 1252>nul
if /i %Eingabe% equ ü echo Umlaut erkannt
chcp 850>nul
greetz André