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

Powershell Funkalphabet

Frage Entwicklung

Mitglied: ralfkausk

ralfkausk (Level 1) - Jetzt verbinden

07.08.2014, aktualisiert 13:21 Uhr, 1031 Aufrufe, 9 Kommentare, 1 Danke

Hallo zusammen

Ich bräuchte mal ein paar Tips
Ich möchte mit der Powershell eine Funkalphabet "Übersetzung" bauen.

Ganz konkret:
Ich gebe ein Wort ein und erhalte dazu die passende Ausgabe als Funkalphabet
z.B.:
Eingabe: Hallo
Ausgabe:
h Heinrich
a Anton
l Ludwig
l Ludwig
o Otto

Ich habe es schon probier, komme aber leider auf keinen grünen Zweig.
Kann mir jemand auf die Sprünge helfen?

01.
cls 
02.
Write-Host "" 
03.
$WORD = Read-Host "Please enter the word to be translated ..." ` 
04.
Write-Host "" 
05.
Write-Host "Your word is: $WORD" 
06.
Write-Host "" 
07.
 
08.
$WORD = $WORD -replace "(\w{1})", "`$1`n"|ForEach-Object ` 
09.
    {$_ -replace "[Aa]", "$a"} 
10.
    {$_ -replace "[Bb]", "$b"} 
11.
    {$_ -replace "[Cc]", "$c"} 
12.
    {$_ -replace "[Dd]", "$d"} 
13.
    {$_ -replace "[Ff]", "$f"} 
14.
    {$_ -replace "[Gg]", "$g"} 
15.
    {$_ -replace "[Cc]", "$c"} 
16.
    {$_ -replace "[Dd]", "$d"} 
17.
    {$_ -replace "[Ee]", "$e"} 
18.
    {$_ -replace "[Ff]", "$f"} 
19.
    {$_ -replace "[Gg]", "$g"} 
20.
    {$_ -replace "[Hh]", "$h"} 
21.
    {$_ -replace "[Ii]", "$i"} 
22.
    {$_ -replace "[Jj]", "$j"} 
23.
    {$_ -replace "[Kk]", "$k"} 
24.
    {$_ -replace "[Ll]", "$l"} 
25.
    {$_ -replace "[Mm]", "$m"} 
26.
    {$_ -replace "[Nn]", "$n"} 
27.
    {$_ -replace "[Oo]", "$o"} 
28.
    {$_ -replace "[Pp]", "$p"} 
29.
    {$_ -replace "[Qq]", "$q"} 
30.
    {$_ -replace "[Rr]", "$r"} 
31.
    {$_ -replace "[Ss]", "$s"} 
32.
    {$_ -replace "[Tt]", "$t"} 
33.
    {$_ -replace "[Uu]", "$u"} 
34.
    {$_ -replace "[Vv]", "$v"} 
35.
    {$_ -replace "[Ww]", "$w"} 
36.
    {$_ -replace "[Xx]", "$x"} 
37.
    {$_ -replace "[Yy]", "$y"} 
38.
    {$_ -replace "[Zz]", "$z"} 
39.
 
40.
Write-Host $WORD
Ich hatte gehofft das funktioniert nach dem gleichen Prinziep wie:
01.
$1 = "hallo" 
02.
$1 -replace "l", "g" -replace "h", "p" 
03.
 
04.
Ausgabe: paggo
Mitglied: colinardo
LÖSUNG 07.08.2014, aktualisiert 10.08.2014
Moin Ralf,
01.
$tableDE = @{"A"="Anton";"B"="Berta";"C"="Cäsar";"D"="Dora";"E"="Emil";"F"="Friedrich";"G"="Gustav";"H"="Heinrich";"I"="Ida";"J"="Julius";"K"="Konrad";"L"="Ludwig";"M"="Martha";"N"="Nordpol";"O"="Otto";"P"="Paula";"Q"="Quelle";"R"="Richard";"S"="Siegfried";"T"="Theodor";"U"="Ulrich";"V"="Viktor";"W"="Wilhelm";"X"="Xaver";"Y"="Ypsilon";"Z"="Zacharias";"Ä"="Ärger";"Ö"="Ökonom";"Ü"="Übermut";"@"="Schule"} 
02.
$tableINT = @{"A"="Alpha";"B"="Bravo";"C"="Charly";"D"="Delta";"E"="Echo";"F"="Foxtrott";"G"="Golf";"H"="Hotel";"I"="India";"J"="Juliet";"K"="Kilo";"L"="Lima";"M"="Mike";"N"="November";"O"="Oscar";"P"="Papa";"Q"="Quebec";"R"="Romeo";"S"="Sierra";"T"="Tango";"U"="Uniform";"V"="Victor";"W"="Whiskey";"X"="X-Ray";"Y"="Yankee";"Z"="Zulu"} 
03.
$language = Read-host "Welche Sprache [1] Deutsch | [2] Englisch ?" 
04.
switch($language){ 
05.
    1{ 
06.
        $input = read-host "Wort eingeben das übersetzt werden soll"  
07.
        $input = $input -Replace "sch","@" 
08.
        $input.ToCharArray() | %{write-host $tableDE["$_"] -ForegroundColor Green} 
09.
10.
    2{ 
11.
        $input = read-host "Please enter word to be translated" 
12.
        $input.ToCharArray() | %{write-host $tableINT["$_"] -ForegroundColor Green} 
13.
14.
    default{write-host "Keine gültige Sprache gewählt!" -ForegroundColor Red} 
15.
}
Grüße Uwe
Bitte warten ..
Mitglied: aqui
07.08.2014, aktualisiert um 13:26 Uhr
Das ist aber nur das deutsche Funkalphabet und nicht das internationale !!
Hier hat man beide:
http://felixbernhard.kuenneke.info/down/Funk.pdf
Müsste Kollege colinardo also noch einen Schalter "Deutsch oder International ?" mit einpflanzen

Beim deutschen oben fehlen außerdem noch Ärger, Ökonom, Übermut und Schule.
Bitte warten ..
Mitglied: ralfkausk
07.08.2014 um 13:22 Uhr
Wow, cool
Das funktioniert perfekt

Vielen Dank
Bitte warten ..
Mitglied: aqui
07.08.2014 um 13:24 Uhr
Bitte dann auch
http://www.administrator.de/faq/32
nicht vergessen.
Bitte warten ..
Mitglied: colinardo
07.08.2014, aktualisiert um 13:50 Uhr
Zitat von aqui:
Müsste Kollege colinardo also noch einen Schalter "Deutsch oder International ?" mit einpflanzen

Beim deutschen oben fehlen außerdem noch Ärger, Ökonom, Übermut und Schule.
jetzt ist @aqui hoffentlich auch zufrieden ... habe ich das Script oben wie gewünscht ergänzt.
Bitte warten ..
Mitglied: AnkhMorpork
LÖSUNG 10.08.2014, aktualisiert 12.08.2014
Zitat von colinardo:

Moin Ralf,
01.
> $tableDE = 
02.
> @{"A"="Anton";"B"="Berta";"C"="Cäsar";"D"="Dora";"E"="Emil";"F"="Friedrich";"G"="Gustav";"H"="Heinrich";"I"="Ida";"J"="Julius";"K"="Konrad";"L"="Ludwig";"M"="Martha";"N"="Nordpol";"O"="Otto";"P"="Paula";"Q"="Quelle";"R"="Richard";"S"="Siegfried";"T"="Theodor";"U"="Ulrich";"V"="Viktor";"W"="Wilhelm";"X"="Xaver";"Y"="Ypsilon";"Z"="Zürich";"Ä"="Ärger";"Ö"="Ökonom";"Ü"="Übermut";"@"="Schule"} 
03.
> $tableINT = 
04.
> @{"A"="Alpha";"B"="Bravo";"C"="Charly";"D"="Delta";"E"="Echo";"F"="Foxtrott";"G"="Golf";"H"="Hotel";"I"="India";"J"="Juliet";"K"="Kilo";"L"="Lima";"M"="Mike";"N"="November";"O"="Oscar";"P"="Papa";"Q"="Quebec";"R"="Romeo";"S"="Sierra";"T"="Tango";"U"="Uniform";"V"="Victor";"W"="Whiskey";"X"="X-Ray";"Y"="Yankee";"Z"="Zulu"} 
05.
> $language = Read-host "Welche Sprache [1] Deutsch | [2] Englisch ?" 
06.
> switch($language){ 
07.
>     1{ 
08.
>         $input = read-host "Wort eingeben das übersetzt werden soll"  
09.
>         $input = $input -Replace "sch","@" 
10.
>         $input.ToCharArray() | %{write-host $tableDE["$_"] -ForegroundColor Green} 
11.
>     } 
12.
>     2{ 
13.
>         $input = read-host "Please enter word to be translated" 
14.
>         $input.ToCharArray() | %{write-host $tableINT["$_"] -ForegroundColor Green} 
15.
>     } 
16.
>     default{write-host "Keine gültige Sprache gewählt!" -ForegroundColor Red} 
17.
> } 
18.
> 
Grüße Uwe

Z = Zacharias??? Sind doch keine Swisser hier ...

Gruß
ANKH
Bitte warten ..
Mitglied: colinardo
10.08.2014, aktualisiert um 17:22 Uhr
Zitat von AnkhMorpork:
Z = Zacharias???
Stimmt, da hat der alte Alm-Öhi in mir einen kleines Osterei versteckt
Sind doch keine Swisser hier ...
mehr als du denkst ....hatte hier bestimmt schon mit mehr als 10 Leuten aus den schönen Bergen Kontakt - und die sind meist schneller im Netz unterwegs als wir !! Ich sag nur 1Gbit/s

Grüße Uwe
Bitte warten ..
Mitglied: AnkhMorpork
10.08.2014 um 17:25 Uhr
Zitat von colinardo:

> Zitat von AnkhMorpork:
> Z = Zacharias???
Stimmt, da hat der alte Alm-Öhi in mir einen kleines Osterei versteckt
Dem Ei sei Dank!

> Sind doch keine Swisser hier ...
mehr als du denkst ....hatte hier bestimmt schon mit mehr als 10 Leuten aus den schönen Bergen Kontakt.

Wir sind unterwandert??? ... Oh man... viva suisse!
Bitte warten ..
Mitglied: ralfkausk
12.08.2014 um 09:06 Uhr
@colinardo: Die Sache mit dem switch gefällt mir auch sehr gut.
Ich hatte mit zwischenzeitlich auch schon was drumherum gebaut, allerdings etwas aufwändiger.
Außerdem habe ich auch noch Zahlen mit eingebaut ... man weiß ja nie wofür man's mal braucht

01.
<# 
02.
!/bin/ksh ;-) 
03.
Name:				FUNKALPHABET.ps1 
04.
Author:				Ralf K aus K 
05.
Created:				2014-08-07 
06.
Last update:			2014-08-07 
07.
 
08.
What's it all about:	Translate word(s) into Funkalphabet ;) 
09.
 
10.
#> 
11.
 
12.
########################################### 
13.
### Adds a pause function to Powershell ### 
14.
function Pause ($pmessage="Press any key to continue...") 
15.
16.
Write-Host -NoNewLine $pmessage 
17.
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") 
18.
Write-Host "" 
19.
20.
### Adds a pause function to Powershell ### 
21.
########################################### 
22.
 
23.
########################################################## 
24.
### Change to directory to where the script is started ### 
25.
$parentPath = Split-Path -Parent $MyInvocation.MyCommand.Definition 
26.
cd $parentPath 
27.
### Change to directory to where the script is started ### 
28.
########################################################## 
29.
 
30.
### Create a Date / Time variable 
31.
$CDATETIME = get-date -format yyyy-MM-dd-HH-mm 
32.
 
33.
### Create a Filename variable with current Date / Time 
34.
$FILENAME = "xxx"+"_"+$CDATETIME 
35.
 
36.
$TABLEDE = @{ 
37.
"A"="Anton";"B"="Berta";"C"="Cäsar";"D"="Dora";"E"="Emil";` 
38.
"F"="Friedrich";"G"="Gustav";"H"="Heinrich";"I"="Ida";"J"="Julius";"K"="Konrad";` 
39.
"L"="Ludwig";"M"="Martha";"N"="Nordpol";"O"="Otto";"P"="Paula";"Q"="Quelle";"R"="Richard";` 
40.
"S"="Siegfried";"T"="Theodor";"U"="Ulrich";"V"="Viktor";"W"="Wilhelm";"X"="Xaver";` 
41.
"Y"="Ypsilon";"Z"="Zürich";"ß"="Esszet";"ä"="Ärger";"ö"="Ökonom";"ü"="Übermut";` 
42.
"0"="Null";"1"="Eins";"2"="Zwei";"3"="Drei";"4"="Vier";"5"="Fünf";"6"="Sechs";"7"="Sieben";"8"="Acht";"9"="Neun"} 
43.
 
44.
$TABLEEN = @{ 
45.
"A"="Alfa";"B"="Bravo";"C"="Charlie";"D"="Delta";"E"="Echo";"F"="Foxtrot";` 
46.
"G"="Golf";"H"="Hotel";"I"="India";"J"="Juliett";"K"="Kilo";"L"="Lima";"M"="Mike";` 
47.
"N"="November";"O"="Oscar";"P"="Papa";"Q"="Quebec";"R"="Romeo";"S"="Sierra";"T"="Tango";` 
48.
"U"="Uniform";"V"="Victor";"W"="Whiskey";"X"="X-Ray";"Y"="Yankee";"Z"="Zulu";` 
49.
"0"="Zero";"1"="One";"2"="Two";"3"="Three";"4"="Four";"5"="Five";"6"="Six";"7"="Seven";"8"="Eight";"9"="Nine"} 
50.
 
51.
function TRANSLATEDE { 
52.
cls 
53.
Write-Host "" 
54.
$INPUTDE = read-host "EINGABE DEUTSCH" 
55.
Write-Host "" 
56.
Write-Host "Deine Eingabe: $INPUTDE" 
57.
Write-Host "" 
58.
Write-Host "Übersetzung:" 
59.
Write-Host "" 
60.
$INPUTDE.ToCharArray() | %{write-host $TABLEDE["$_"]}} 
61.
 
62.
function TRANSLATEEN { 
63.
cls 
64.
Write-Host "" 
65.
$INPUTEN = read-host "INPUT INTERNATIONAL" 
66.
Write-Host "" 
67.
Write-Host "Your Input: $INPUTEN" 
68.
Write-Host "" 
69.
Write-Host "Translation:" 
70.
Write-Host "" 
71.
$INPUTEN.ToCharArray() | %{write-host $TABLEEN["$_"]}} 
72.
 
73.
$COUNTER = 0 
74.
do { 
75.
 
76.
# Here we go ... 
77.
clear 
78.
$1 = New-Object System.Management.Automation.Host.ChoiceDescription "&1 GERMAN", ` 
79.
    "Get all AD groups from a specific user" 
80.
$2 = New-Object System.Management.Automation.Host.ChoiceDescription "&2 INTERNATIONAL", ` 
81.
    "Get all members of a specific AD group" 
82.
$9 = New-Object System.Management.Automation.Host.ChoiceDescription "&9 Do nothing", ` 
83.
    "Do nothing" 
84.
 
85.
$options = [System.Management.Automation.Host.ChoiceDescription[]]($1, $2, $9) 
86.
$result = $host.ui.PromptForChoice($title, $message, $options, 2) # 0 indicates the pre-defined choice, in that case yes. 1 would be no, and so on ... 
87.
 
88.
switch ($result) 
89.
90.
 
91.
########################### Translate to German spelling 
92.
 
93.
        0 { 
94.
        TRANSLATEDE 
95.
        Write-Host "" 
96.
        #pause 
97.
98.
########################### Translate to German spelling 
99.
########################### Translate to Internation spelling 
100.
 
101.
        1 { 
102.
        TRANSLATEEN 
103.
        Write-Host "" 
104.
        #pause 
105.
106.
########################### Translate to Internation spelling 
107.
########################### Do Nothing 
108.
 
109.
        8 { 
110.
        echo "Do nothing" 
111.
112.
########################### Do Nothing 
113.
114.
$RESPONSE = Read-Host "Start again (Yes|No)?" 
115.
$COUNTER++ 
116.
117.
while ($RESPONSE -eq "Y")
Ich möchte mich bei allen für die Unterstützung bedanken.

Gruß Ralf
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell Regex anders (1)

Frage von ukodus zum Thema Batch & Shell ...

Windows 10
Powershell 5 BSOD (8)

Tipp von agowa338 zum Thema Windows 10 ...

Batch & Shell
gelöst Powershell Registry (1)

Frage von Marabunta zum Thema Batch & Shell ...

Entwicklung
gelöst Powershell Charting (2)

Frage von MaximusPrime zum Thema Entwicklung ...

Neue Wissensbeiträge
Windows Server

Netzwerkfehler bei HyperV - Host

Anleitung von Scrises zum Thema Windows Server ...

Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

Windows Server
Upgrade von Win Server 2008 auf 2012 gescheitert (19)

Frage von Ghost108 zum Thema Windows Server ...