Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch-Input so abgreifen, als wäre die Tastatur auf en-us gestellt

Frage Entwicklung Batch & Shell

Mitglied: DerWoWusste

DerWoWusste (Level 5) - Jetzt verbinden

24.03.2014, aktualisiert 31.03.2014, 1839 Aufrufe, 22 Kommentare

Moin Kollegen!

Kennt jemand den vermutlich einfachen Kunstgriff, um die Variable Input, die man in Batch (oder Powershell) vom Windows-Nutzer abfragt über
01.
set /p Input=umzuformende Eingabe?
vor der Weiterverarbeitung so umzuformen, als wäre sie mit englischem (en-us) Tastaturlayout eingegeben worden?

Sprich: Nutzer gibt zum Beispiel ein az?# aber es soll weiterverarbeitet werden als ay_\

PS: muss unbedingt auch auf 64-Bit-Systemen funktionieren!
Mitglied: pieh-ejdsch
24.03.2014 um 21:03 Uhr
Moin DWW,

Die choice von winfuture erfasst die Zeichen so. Die ist aber glaub ich 16 bit, ob sich das mit 64 bit verträgt?
eingabe ohne die x-zeilen sollte es so tun.
On the fly würde das ein Script mit xcopy-abfrage erledigen.
Ich muss aber erstmal ins Bett.

Gruß Phil
Bitte warten ..
Mitglied: DerWoWusste
24.03.2014 um 21:06 Uhr
Hi Phil.

Nee, mit 16-Bit-Programmen keine Chance auf x64.
Bitte warten ..
Mitglied: Friemler
24.03.2014 um 22:09 Uhr
Hallo DWW,

falls es für Dich eine Option ist, das Tastaturlayout aus dem Batchscript heraus temporär auf en-us umzuschalten, um die Benutzereingabe zu erfassen, schau Dir das mal an.

Gruß
Friemler
Bitte warten ..
Mitglied: DerWoWusste
24.03.2014 um 22:17 Uhr
Hi Friemler!

Ich habe es überflogen, sehe jedoch keinen Ansatz, das Tastaturlayout zu ändern. Beschrieben ist lediglich, wie man T.L.s hinzufügt, oder?
Bitte warten ..
Mitglied: Friemler
LÖSUNG 25.03.2014, aktualisiert 31.03.2014
Hallo DWW,

doch, man kann das Tastaturlayout auch einfach nur umschalten, mit dem Default-Attribut des gs:InputLanguageID-Knotens in der XML-Datei. Anbei ein Beispielscript.

01.
@echo off & setlocal 
02.
 
03.
set "KeyboardUS=%TEMP%\KeyboardUS.xml" 
04.
set "KeyboardDE=%TEMP%\KeyboardDE.xml" 
05.
set "InputFile=%TEMP%\Input.txt" 
06.
 
07.
 
08.
> "%KeyboardDE%" echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^> 
09.
>>"%KeyboardDE%" echo   ^<gs:UserList^> 
10.
>>"%KeyboardDE%" echo     ^<gs:User UserID="Current"/^> 
11.
>>"%KeyboardDE%" echo   ^</gs:UserList^> 
12.
>>"%KeyboardDE%" echo   ^<gs:InputPreferences^> 
13.
>>"%KeyboardDE%" echo     ^<gs:InputLanguageID Action="add" ID="0407:00000407" Default="true"/^> 
14.
>>"%KeyboardDE%" echo   ^</gs:InputPreferences^> 
15.
>>"%KeyboardDE%" echo ^</gs:GlobalizationServices^> 
16.
 
17.
> "%KeyboardUS%" echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^> 
18.
>>"%KeyboardUS%" echo   ^<gs:UserList^> 
19.
>>"%KeyboardUS%" echo     ^<gs:User UserID="Current"/^> 
20.
>>"%KeyboardUS%" echo   ^</gs:UserList^> 
21.
>>"%KeyboardUS%" echo   ^<gs:InputPreferences^> 
22.
>>"%KeyboardUS%" echo     ^<gs:InputLanguageID Action="add" ID="0409:00000409" Default="true"/^> 
23.
>>"%KeyboardUS%" echo   ^</gs:InputPreferences^> 
24.
>>"%KeyboardUS%" echo ^</gs:GlobalizationServices^> 
25.
 
26.
 
27.
control intl.cpl,, /f:"%KeyboardUS%" 
28.
start "" /wait cmd /c "set /p "Input=" & < NUL call set /p "=%%Input%%" > "%InputFile%"" 
29.
set /p "Input=" < "%InputFile%" 
30.
control intl.cpl,, /f:"%KeyboardDE%" 
31.
 
32.
del "%KeyboardDE%" 
33.
del "%KeyboardUS%" 
34.
del "%InputFile%" 
35.
 
36.
 
37.
< NUL set /p "=%Input%" & echo(
Der Knackpunkt dabei ist, dass die Scriptzeilen zur Erfassung der Eingabe in einem eigenen (neu erzeugten) Fenster laufen, da die Umschaltung des Tastaturlayouts nur für Fenster wirksam ist, die nach der Umschaltung erstellt werden. Die dort erfassten Eingaben werden deshalb in eine temporäre Datei geschrieben, deren Inhalt im Hauptscript in eine Variable eingelesen und dann ausgewertet wird.

Gruß
Friemler
Bitte warten ..
Mitglied: DerWoWusste
25.03.2014, aktualisiert um 00:54 Uhr
Ok, Du wirkst zuversichtlich.
Ich steige bei dem Output noch nicht durch. Kannst Du das bitte mal testen, indem Du als Input y eingibst und schaust, ob wirklich z in der Variable landet?
Bitte warten ..
Mitglied: rubberman
25.03.2014 um 01:10 Uhr
Hallo DerWoWusste,

ja, getestet und passt. (Hänge ein PAUSE an Friemlers Code an, dann bleibt das Fenster geöffnet.)

Ich weiß nicht was genau du vorhast. Möglich wäre auch
01.
@echo off &setlocal 
02.
call :changeKL 0409 
03.
start "" cmd /c "test.bat" 
04.
>nul timeout /t 1 /nobreak 
05.
call :changeKL 0407 
06.
goto :eof 
07.
 
08.
 
09.
:changeKL LCID 
10.
>"%temp%\config.xml" ( 
11.
  echo ^<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"^> 
12.
  echo   ^<gs:UserList^> 
13.
  echo     ^<gs:User UserID="Current"/^> 
14.
  echo   ^</gs:UserList^> 
15.
  echo   ^<gs:InputPreferences^> 
16.
  echo     ^<gs:InputLanguageID Action="add" ID="%1:0000%1" Default="true"/^> 
17.
  echo   ^</gs:InputPreferences^> 
18.
  echo ^</gs:GlobalizationServices^> 
19.
20.
control intl.cpl,, /f:"%temp%\config.xml" 
21.
del "%temp%\config.xml" 
22.
goto :eof
wobei "test.bat" deinen Batch repräsentiert, der dann komplett mit dem US Keyboard Layout laufen würde.

Grüße
rubberman
Bitte warten ..
Mitglied: DerWoWusste
25.03.2014, aktualisiert um 01:50 Uhr
Hi Rubberman.

Was ich vorhabe: Wenn der Nutzer sein Kennwort ändert, soll er das in Zukunft über ein Skript tun, das das neue Kennwort auch als Bitlocker-Kennwort setzt. Da Bitlocker jedoch in der Preboot-Authentifizierung zwingend im en-us-Keyboard-Layout läuft, bekommen User, die z.B. y,z oder / in Ihrem Kennwort haben, nicht das korrekte Kennwort bei Bitlocker eingesetzt. Beispiel:
Gewünschtes Kennwort wird eingegeben:"qwertz" ->Skript setzt win-Kennwort auf qwertz, aber BL-Kennwort auf qwerty.

Füge ich bei friemlers Skript pause hinzu, kommt keinesfalls nach Eingabe von y ein z.

Ich könnte jetzt den gesamten Plan hier offenlegen, aber zögere noch, da es zum Testen gewisse Randumstände erfordert (windows 8, Bitlocker-Policies, Powershell-Policies, geplante Tasks usw.).

Mein Skript arbeitet mit der passwd.exe (Kommandozeilenpasswortchanger von Alexander Frink, Uni Mainz) bzw. mit folgenden Powershell-Befehlen:
01.
$newpw = ConvertTo-SecureString -Force -AsPlainText $args[1]  
02.
Add-BitLockerKeyProtector c: -PasswordProtector -password $newpw
An das PS-Skript soll als Argument das Kennwort übergeben werden, was soweit auch läuft, nur leider noch von qwertz auf qwerty umgemünzt werden muss.
Bitte warten ..
Mitglied: rubberman
LÖSUNG 25.03.2014, aktualisiert 31.03.2014
Hallo DWW.

Soweit ich weiß hat M$ das Verhalten unter Win8 geändert (habe hier auf Win7 getestet).
Kürzlich bin ich darüber gestolpert, als ich die WinAPI LoadKeyboardLayout nachgeschlagen habe (die hier wahrscheinlich im Background aufgerufen wird):
Prior to Windows 8: Several input locale identifiers can be loaded at a time, but only one per process is active at a time. Loading multiple input locale identifiers makes it possible to rapidly switch between them.

Beginning in Windows 8: The input locale identifier is loaded for the entire system. This function has no effect if the current process does not own the window with keyboard focus.
Leider habe ich momentan keine Möglichkeit auf Win8 zu testen.

Grüße
rubberman
Bitte warten ..
Mitglied: DerWoWusste
26.03.2014 um 16:33 Uhr
Hallo Ihr zwei.

Ich versuche jetzt, es über Powershell und den Befehl
01.
Set-WinUserLanguageList -LanguageList en-us -force
zu lösen.
Bitte warten ..
Mitglied: Friemler
26.03.2014 um 17:58 Uhr
Hallo DWW,

dann mal viel Erfolg. In Ermangelung eines Win8/Win8.1 Systems kann auch ich mich nicht mehr an der Suche nach einer Problemlösung beteiligen. Das Ergebnis Deiner Bemühungen würde mich aber schon interessieren.

Gruß
Friemler
Bitte warten ..
Mitglied: rubberman
26.03.2014 um 20:56 Uhr
Hallo.

Da muss ich mich anschließen. Laut TechNet gibt's unter Win8 noch ein Set-WinDefaultInputMethodOverride Cmdlet, aber testen kann ich da aus benannten Gründen leider auch nichts ...

Grüße
rubberman
Bitte warten ..
Mitglied: pieh-ejdsch
LÖSUNG 27.03.2014, aktualisiert 09.04.2014
Moin,

Ich weis nicht ob es in die richtige Richtung geht . Der Input wird abgegriffen und notwendigerweise wie beim us-Keyboard eingegeben angezeigt.

Ein Kleiner Bug ist noch beim Backspace dabei.
Der vorwertige Anführstrich geht noch nicht.
Vielleicht bekommt es jemand hin.
ist gefixt

Die Taste [<|>] ganz Links ist abgestellt lässt sich aber anders zuweisen.

01.
@echo off 
02.
if "%~1" equ "/?" ( 
03.
 echo Eingabe im DE Tastaturlayout - Ausgabe von DE und EN Tastaturlayout &echo(  
04.
 <nul set/p"=%~n0 "&echo [Dateiname] 
05.
echo(&echo( Dateiname	Ausgabe wird auch in Datei angefuegt.&echo( 
06.
echo(Unterstuetzt Zeichen loeschen 
07.
exit /b 
08.
09.
setlocal disabledelayedexpansion 
10.
title lese Keyboard ein ... 
11.
 rem :initVarout  _ # $ . \ 
12.
chcp 1252 >nul 
13.
call :ini_List :: _ # $ . 
14.
chcp 858 >nul 
15.
 
16.
:initVars 
17.
set "OutxT=3" 
18.
set "Input=" 
19.
set /a n =0 
20.
 
21.
:initXinput 
22.
for /f "eol=1tokens=%OutxT%" %%i in (' echo^( ^|xcopy /Liwyq "%~f0" "%temp%\Output-fuer-nichts-tmp\" ') do set /a "OutxT+=1" &goto :initXinput 
23.
 
24.
:initVarout <CR> <BS> _ # $ .  
25.
setlocal enabledelayedexpansion 
26.
for /f %%+ in ('copy /Z "%~dpf0" nul') do (rem CR 
27.
 for /f %%- in ('"prompt;$h&for %%i in (1) do rem"') do (rem BackSpace 
28.
  for /f "delims=" %%_ in ("%L__A%%L__B%") do ( 
29.
   for /f "delims=" %%# in ("%L_#A%%L_#B%") do ( 
30.
    for /f "delims=" %%$ in ("%L_$A%%L_$B%") do ( 
31.
     for /f "delims=" %%. in ("%L_.A%%L_.B%") do ( 
32.
      echo Eingabe ... 
33.
      endlocal 
34.
      title Erwarte Eingabe ... 
35.
      call :Xinput %L__N% %L_#N% %L_$N% %L_.N% 
36.
)))))) 
37.
 
38.
chcp 1252 >nul 
39.
setlocal enabledelayedexpansion 
40.
if "%~1" neq "" >>%1 echo EN: !InputEN! DE: !InputDE! 
41.
chcp 850 >nul 
42.
for /f eol^=^ 
43.
 
44.
^ delims^= %%A in ("!InputEN!") do ( 
45.
 for /f eol^=^ 
46.
 
47.
^ delims^= %%B in ("!InputDE!") do ( 
48.
  endlocal 
49.
  echo( DE: %%B 
50.
  echo( EN: %%A 
51.
)) 
52.
exit /b 
53.
 
54.
 rem (title) - exit /b 0 - ERRORLEVEL 0 
55.
 rem (call)  - exit /b 1 - ERRORLEVEL 1 
56.
:Xinput 
57.
(set "out=" 
58.
 set "in=" 
59.
 for /f "eol=1tokens=%OutxT% delims= " %%A in (' xcopy /Liwyq "%~f0" "%temp%\Output-fuer-nichts-tmp\" ') do ( 
60.
  if %%- equ %%A set "out=del" 
61.
  if not defined out (if %%+ equ %%A exit /b 
62.
  set "In=%%A" 
63.
   for /f eol^=^ 
64.
 
65.
^ delims^=%alphanum%%sonder%%multi%^	 %%B in ("%%A") do call :xChange %* 
66.
  ) || (set "out=%%A" &set "in=%%A") 
67.
68.
) || (set "out= " &set "in= ") 
69.
if ^%in%  equ ^& if not defined pre set "outpre=^" &set "multi=" &set "pre=&" &goto :Xinput 
70.
set "multi=euioaEUIOA" 
71.
setlocal enabledelayedexpansion 
72.
if !out! neq del goto :readinput 
73.
if not defined InputEN endlocal &set "InputDE=" &goto :Xinput 
74.
cls 
75.
:delete 
76.
set "inputDE+=" 
77.
 (for /f eol^=^%inputEN:~-1%delims^=%delDach% %%i in ("!inputEN:~-1!.") do set "InputDE=!InputDE:~0,-1!" &:: DE-e 
78.
)||(for /f eol^=^%inputDE:~-1%delims^=%delAkzent% %%i in ("!inputDE:~-1!.") do set "InputDE+=ï" & :: DE+´ 
79.
)||(for /f eol^=^%inputDE:~-1%delims^=%delGravis% %%i in ("!inputDE:~-1!.") do set "InputDE+=`" & :: DE+` 
80.
81.
set "InputDE=!InputDE:~,-1!!InputDE+!" 
82.
(for /f eol^=^ 
83.
 
84.
^ delims^= %%A in ("!InputDE!") do ( 
85.
  endlocal 
86.
  echo(de: %%A 
87.
  set "InputDE=%%A" 
88.
  (title) 
89.
90.
)||( 
91.
 endlocal 
92.
 set "InputDE=" 
93.
94.
setlocal enabledelayedexpansion 
95.
set "InputEN=!InputEN:~,-1! 
96.
(for /f eol^=^ 
97.
 
98.
^ delims^= %%A in ("!InputEN!") do ( 
99.
  endlocal 
100.
  set "InputEN=%%A" 
101.
  echo(en: %%A 
102.
  (title) 
103.
104.
)||( 
105.
 echo(de:  
106.
 echo(Erwarte Eingabe ... 
107.
 endlocal 
108.
 set "InputDE=" 
109.
 set "InputEN=" 
110.
 title Erwarte Eingabe ... 
111.
112.
goto :Xinput  
113.
 
114.
:readinput 
115.
cls 
116.
(for /f eol^=^ 
117.
 
118.
^ delims^= %%A in ("!InputDE!!pre!!in!") do ( 
119.
 for /f eol^=^ 
120.
 
121.
^ delims^= %%B in ("!InputEN!!outpre!!out!") do ( 
122.
  endlocal 
123.
  echo(de: %%A 
124.
  echo(en: %%B 
125.
  set "InputDE=%%A" 
126.
  set "InputEN=%%B" 
127.
  >nul 2>nul title %%A 
128.
)) 
129.
) || (set "InputDE="&set "InputEN=") 
130.
set "pre=" 
131.
set "outpre=" 
132.
goto :Xinput 
133.
 
134.
:Xchange 
135.
 rem :initVarout _ # $ . 
136.
for %%@ in (.) do ( 
137.
 if defined pre ( 
138.
  for /f delims^=^%in%^ tokens^=1* %%x in ("%%.") do for /f "tokens=%4 delims=	" %%z in ("%%y") do set "outpre=" &set "out=%%z" 
139.
 )  
140.
 for /f delims^=^%in%^ tokens^=1* %%x in ("%%_") do for /f "tokens=%1 delims=	" %%z in ("%%y") do set "out=%%z" 
141.
 for /f delims^=^%in%^ tokens^=1* %%x in ("%%#") do for /f "tokens=%2 delims=	" %%z in ("%%y") do set "out=%%z" 
142.
 for /f delims^=^%in%^ tokens^=1* %%x in ("%%$") do for /f "tokens=%3 delims=	" %%z in ("%%y") do set "out=%%z" 
143.
144.
if ^%out%  neq ^  exit /b 0 
145.
if not defined out title ^%in%  Nicht gefunden.&exit /b 1 
146.
set "out=" &set "in=" 
147.
exit /b 0 
148.
 
149.
:ini_List ::x En > Gr 
150.
 rem Erzeuge Esetzumgsliste 
151.
for /f "eol==" %%i in ('"2>nul set ."') do set "%%i=" 
152.
for /l %%i in (1 1 9) do set ".%%i=." 
153.
:List 
154.
call :ini_de_en %1%2 L_%2 
155.
if "%3" neq "" shift /2 &goto :List 
156.
 
157.
:FullKey 
158.
set  "alphaNum=1234567890qwrtpsdfghjklxcvbnmQWRTPSDFGHJKLXCVBNM" 
159.
set    "sonder=%%%%!$.^," 
160.
set     "multi=euioaEUIOA" 
161.
set   "deldach=êûîôâÊÛÎÔÂ" 
162.
set "delAkzent=éúíóáýÉÚÍÓÁÝ" 
163.
set "delGravis=èùìòàÈÙÌÒÀ" 
164.
exit /b ini_List 
165.
 
166.
:ini_De_En Liste wird erstellt 
167.
set /a "%2N =0 
168.
set "%2A=" 
169.
set "%2B=" 
170.
 rem 1252 - 3,6 ; 858 - 4,5   
171.
for /f "tokens=1* delims=:" %%a in (' ^( set . ^& findstr /LB %1 "%~f0" ^) ^|findstr /nb :') do ( 
172.
 for /f "tokens=3,6 delims=	" %%A in ("%%b") do ( 
173.
  if %%A neq %%B if "%%A" neq " " if "%%B" neq "" ( 
174.
   set /a "%2N+=1" 
175.
   set "%2A%%a=%%A" 
176.
   call set "%2A=%%%2A%%	!%2A%%a!" 
177.
   if %%A equ . (set "%2B%%a=.") else set "%2B%%a=%%B" 
178.
   call set "%2B=%%%2B%%	!%2B%%a!" 
179.
))) 
180.
exit /b 
181.
 
182.
 rem :initVarout _ # $ . 
183.
;: Legende: 
184.
;: 
185.
;:+--Variablenzuweisung _ # $ . 
186.
;:	+--VorschaltTaste: N=Normal U=[Umschalt] G=[AltGr] 
187.
;:	|+--Keyboard Zeile: n=number-Line q=Q-Line(TAB) a=A-Line y=Y-Line 
188.
;:	| ++--Keyboard Spalte 
189.
;:	| ||	+--Keyboard QWERTZ chcp 1252 
190.
;:	| ||	|	+--CMD in cp 858 
191.
;:	| ||	|	|	+--Out QWERTY   [SPACE] --> Kein Zeichen, gleich --> Ausgabe 
192.
;:	| ||	|	|	|	+--Out Keyboard QWERTY cp 1252 
193.
;: [TAB]   [TAB] [TAB]	 [TAB]	 [TAB] 
194.
;;_					max 30 Liste 1 
195.
::_	Nn00	^	^	`	` 
196.
::_	Un00	°	ø	~	~ 
197.
::_	Un01	!	!	!	!	equ  
198.
::_	Un02	"	"	@	@ 
199.
::_	Un03	§	õ	#	# 
200.
::_	Un04	$	$	$	$	equ 
201.
::_	Un05	%	%	%	%	equ 
202.
::_	Un06	&	&	^	^ 
203.
::_	Un07	/	/	&	& 
204.
::_	Un08	(	(	*	*	 
205.
::_	Un09	)	)	(	( 
206.
::_	Un10	=	=	)	) 
207.
::_	Nn11	ß	á	-	- 
208.
::_	Un11	?	?	_	_ 
209.
::_	Nn12	´	ï	=	= 
210.
::_	Un12	`	`	+	+ 
211.
 
212.
::_	Nq06	z	z	y	y 
213.
::_	Uq06	Z	Z	Y	Y 
214.
::_	Nq11	ü		[	[ 
215.
::_	Uq11	Ü	š	{	{ 
216.
::_	Nq12	+	+	]	] 
217.
::_	Uq12	*	*	}	} 
218.
 
219.
::_	Aq01	@	@	 	 	empty 
220.
::_	An02	²	ý	 	 	empty 
221.
::_	An03	³	ü	 	 	empty 
222.
::_	An07	{	{	 	 	empty 
223.
::_	An08	[	[ 	 	 	empty 
224.
::_	An09	]	]	 	 	empty 
225.
::_	An10	}	}	 	 	empty 
226.
::_	An11	\	\	 	 	empty 
227.
 
228.
::_	Aq01	€	Õ	 	 	empty 
229.
::_	Aq12	~	~	 	 	empty 
230.
 
231.
::_	Ay07	µ	æ	 	 	empty 
232.
::_	..	.	.	 	 	Listende 
233.
 
234.
;;#					max 30 Liste 2 
235.
::#	Na10	ö	”	;	; 
236.
::#	Ua10	Ö	™	:	: 
237.
::#	Na11	ä	„	'	' 
238.
::#	Ua11	Ä	Ž	"	" 
239.
::#	Na12	#	#	\	\ 
240.
::#	Ua12	'	'	|	| 
241.
 
242.
::#	Ny00	<	<	 	 	empty 
243.
::#	Uy00	>	>	 	 	empty 
244.
::#	Ay00	|	|	 	 	empty 
245.
::#	Ny01	y	y	z	z 
246.
::#	Uy01	Y	Y	Z	Z 
247.
::#	..	.	.	 	  
248.
::#	Uy08	;	;	<	< 
249.
::#	Uy09	:	:	>	> 
250.
::#	Ny10	-	-	/	/ 
251.
::#	Uy10	_	_	?	? 
252.
 
253.
;:$					max 30 Liste 2 -aczent 
254.
::#	^N	ê	ˆ	Š	è	 
255.
::#	^N	û	–	—	ù 
256.
::#	..	.	.	 	 	Listende 
257.
 
258.
::$	^N	î	Œ		ì 
259.
::$	^N	ô	“	•	ò 
260.
::$	^N	â	ƒ	…	à 
261.
  
262.
::$	´N	é	‚	=e	=e 
263.
::$	´N	ú	£	=u	=u 
264.
::$	´N	í	¡	=i	=i 
265.
::$	´N	ó	¢	=o	=o 
266.
::$	´N	á	 	=a	=a 
267.
::$	´N	ý	ì	=z	=z 
268.
 
269.
::$	`N	è	Š	+e	+e 
270.
::$	`N	ù	—	+u	+u 
271.
::$	`N	ì		+i	+i 
272.
::$	`N	ò	•	+o	+o 
273.
::$	`N	à	…	+a	+a 
274.
 
275.
 
276.
::$	^U	Ê	Ò	Ô	È 
277.
::$	^U	Û	ê	ë	Ù 
278.
::$	^U	Î	×	Þ	Ì 
279.
::$	^U	Ô	â	ã	Ò 
280.
::$	^U	Â	¶	·	À 
281.
 
282.
::$	´U	É		=E	=E 
283.
::$	´U	Ú	é	=U	=U 
284.
::$	´U	Ó	à	=O	=O 
285.
::$	´U	Í	Ö	=I	=I 
286.
::$	´U	Á	µ	=A	=A 
287.
::$	´U	Ý	í	=Z	=Z 
288.
  
289.
::$	`U	È	Ô	+E	+E 
290.
::$	`U	Ù	ë	+U	+U 
291.
::$	`U	Ì	Þ	+I	+I 
292.
::$	`U	Ò	ã	+O	+O 
293.
::$	`U	À	·	+A	+A 
294.
::$	..	.	.	 	 	Listende 
295.
 
296.
;;.					max 30 Liste 3 pre 
297.
::.	+&	e	e	ˆ	ê 
298.
::.	+&	u	u	–	û 
299.
::.	+&	i	i	Œ	î 
300.
::.	+&	o	o	“	ô 
301.
::.	+&	a	a	ƒ	â 
302.
::.	+&	E	E	Ò	Ê 
303.
::.	+&	U	U	ê	Û 
304.
::.	+&	I	I	×	Π
305.
::.	+&	O	O	â	Ô 
306.
::.	+&	A	A	¶	 
307.
::.	..	.	.	 	 	Listende 
308.
 
Gruß Phil
Bitte warten ..
Mitglied: Friemler
27.03.2014 um 09:43 Uhr
Quasi ein Tastaturtreiber in Batchscript - ich liebe dieses Forum!
Bitte warten ..
Mitglied: DerWoWusste
27.03.2014 um 10:03 Uhr
Hallo Phil!

Oha, ein Monster... hast Du das auf win8 gestestet?
Mach ich nachher mal.
Bitte warten ..
Mitglied: pieh-ejdsch
27.03.2014, aktualisiert um 10:50 Uhr
Moin DWW,

ich habe es zuhause auf dem Surface RT mit 8.1 x64 entwickelt und getestet.
Auf 7 x64 lüppt es auch.

Gruß Phil
Bitte warten ..
Mitglied: DerWoWusste
27.03.2014 um 15:18 Uhr
Nicht schlecht
ein paar Kinken habe ich jedoch noch gefunden:
Ä soll zu " werden, wird jedoch zu *
@ soll zu nix werden, bleibt jedoch @
€ soll zu nix werden, wird jedoch zu _
Ebenso nicht abgebildet werden sollten {[]} und \
all diese werden bei Deinem Skript auf sich selbst abgebildet.

Könntest Du das noch beheben? Und dann noch einen Sonderwunsch: könntest Du die Ausgabe einmal im deutschen Tastaturlayout und einmal im englischen an eine Datei anhängen?
Also nach Eingabe von zum Beispiel Äu&bgt1 an die Textdatei Ausgabe.txt einmal Äu&bgt1 und dahinter "u^bgt1 anhängen?

Das wäre mir als minderbegabtem Skripter jetzt leider schon zu hoch.
Bitte warten ..
Mitglied: DerWoWusste
31.03.2014 um 23:23 Uhr
01.
$OldList = Get-WinUserLanguageList 
02.
Set-WinUserLanguageList -LanguageList en-us –force 
03.
...irgendeininputabgreifenhier... 
04.
Set-WinUserLanguageList $OldList -force
Das funktioniert gut.

Man kann natürlich auch nur mit Substitutionen arbeiten, also die Sprache gar nicht umstellen.

Ich danke Euch für die Anregungen.
Bitte warten ..
Mitglied: pieh-ejdsch
04.04.2014 um 07:53 Uhr
Moin,

Schön wenn es nun geht.

Ich hab das Monster noch etwas angefüttert.
Das Verhalten der Englischen Tastatur wird komplett über CMD nachgestellt.
Die [AltGr] Tasten werden ausgelassen.
Akut, Gratis, Zirkumflex sowie verbundene Buchstaben werden unterstützt.

Das € (Eurosymbol) gibt es indirekt über den Umweg der Codepage 858.

Gruß Phil
Bitte warten ..
Mitglied: DerWoWusste
05.04.2014 um 16:31 Uhr
Hi Phil.

Danke, aber das liefert bei mir keinen Output, nur zwei leere Zeilen en: und de:
Hast Du es auf win8.1 getestet (falls das OS eine Rolle spielt)?
Bitte warten ..
Mitglied: pieh-ejdsch
08.04.2014, aktualisiert um 17:36 Uhr
Moin DWW,

Gruß an Frank seine Forumsoftware oder IE11.

Die Website hat zwei ... drei Sonderzeichen anders dargestellt.
Ich hab das erstellen der Ersetzungsvariablen für die Tastatur auf Codepage 1252 umgestellt, damit die Fehlerhaften Zeichen über Codepage 850/858 hier nicht auf der Website ins Gewicht fallen.

Ich hab den Code testahlber gleich nochmal vom Browser ins CMD kopiert. Nun sollte es ohne Fehler funktionieren.

Auf 8.1 geht es.

Zu starten mit:
Input.cmd Augabedatei.txt
Die Ausgabedatei ist Optional

Gruß Phil
Bitte warten ..
Mitglied: DerWoWusste
08.04.2014 um 18:57 Uhr
Hm. Keine Veränderung. Lasse mir den Quelltext anzeigen und kopiere ihn, gleiches Resultat mit Chrome und IE11.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Batch zum bearbeiten mehrerer CSV (2)

Frage von Matzus87 zum Thema Batch & Shell ...

JavaScript
AngularJS Variable über Input in Funktion ausführen

Frage von badkilla zum Thema JavaScript ...

Windows 10
Anmeldebildschirm Tastatur Layout Schweiz als Standard (2)

Frage von manuwj zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...