Top-Themen

Aktuelle Themen (A bis Z)

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

Windows PowerShell - Ein bestimmtes Zeichen in einem Wort in Großschreibung

Frage Entwicklung Batch & Shell

Mitglied: kaeckchen

kaeckchen (Level 1) - Jetzt verbinden

03.07.2013 um 11:50 Uhr, 5834 Aufrufe, 6 Kommentare

Hallo werte Gemeinde,

Mittels "ToUpper()" kann ich zwar ein ganzes Wort oder einen ganzen String groß schreiben. Kann ich aber auch ein- oder mehrere, bestimmte Zeichen groß schreiben, so dass die restlichen Zeichen unberührt bleiben?

Beispiel: "muellerm" soll zu "MuellerM" geändert werden

mfG KR
Mitglied: Snowman25
03.07.2013 um 12:01 Uhr
Hallo kaeckchen,

klar, wenn du den String davor auseinandernimmst und danach wieder zusammensetzt.
Schreib dir doch 2 Funktionen, welche einen String und eine Position entgegennehmen und dann auf die entsprechende Stelle ein toUpper oder toLower macht.

Gruß,
Snowman25
Bitte warten ..
Mitglied: kaeckchen
03.07.2013 um 12:35 Uhr
Danke für die Antwort. Das Vorgehen ist klar. Ich hätte die Frage etwas präzisieren müssen. Ich wollte eigentlich erfragen, ob das Ganze in einem Befehl oder in einer Zeile möglich ist.

mfG KR
Bitte warten ..
Mitglied: Snowman25
03.07.2013, aktualisiert um 13:22 Uhr
Angenommen, du hast muellerm und möchtest daraus MuellerM machen (1. und letzen Buchstaben groß), dann geht das so:
01.
$name = "muellerm" 
02.
$name = $($name.substring(0,1).ToUpper() + $name.substring(1,($name.Length-2)) + $name.substring($name.Length-1).ToUpper())
Gruß,
Snowman25
Bitte warten ..
Mitglied: kaeckchen
03.07.2013 um 13:15 Uhr
Hallo und vielen Dank für die Anregung - das funktioniert genau so, wie ich es mir vorstelle.

mfG KR
Bitte warten ..
Mitglied: colinardo
03.07.2013, aktualisiert um 15:50 Uhr
Hallo kaekchen,
und wenn du das Objekt [System.String] mit einer Funktion erweiterst steht dir die Funktion in Zukunft bei jedem String zur Verfügung. Das ganze machst du so :

Zuerst erstellst du eine Datei namens "StringExtension.ps1xml" im Verzeichnis C:\Windows\System32\WindowsPowerShell\v1.0 mit folgenden Inhalt:
01.
<?xml version="1.0" encoding="utf-8" ?> 
02.
<Types> 
03.
  <Type> 
04.
    <Name>System.String</Name> 
05.
      <Members> 
06.
        <ScriptMethod> 
07.
          <Name>upperFirstandLast</Name> 
08.
          <Script> 
09.
                $($this.substring(0,1).ToUpper() + $this.substring(1,($this.Length-2)) + $this.substring($this.Length-1).ToUpper()) 
10.
          </Script> 
11.
      </ScriptMethod> 
12.
    </Members> 
13.
  </Type> 
14.
  <Type> 
15.
    <Name>System.String</Name> 
16.
      <Members> 
17.
        <ScriptMethod> 
18.
          <Name>toUpperByIndex</Name> 
19.
          <Script> 
20.
		$index = $args[0] 
21.
		$arr = $this.toCharArray() 
22.
		$arr[$index] = $arr[$index].toString().toUpper() 
23.
		[System.String]::Join($strFinal,$arr) 
24.
		$strFinal 
25.
          </Script> 
26.
      </ScriptMethod> 
27.
    </Members> 
28.
  </Type> 
29.
</Types> 
dann öffnest du dein Powershell Profil-Script(meistens unter "C:\Users\[USERNAME]\Documents\WindowsPowerShell\Microsoft.Powershell_profile.ps1")
wenn die Datei noch nicht vorhanden ist, legst du sie an.
Dann fügst folgende Zeile hinzu und speicherst die Datei:
01.
Update-TypeData -PrependPath "$pshome\StringExtension.ps1xml"
Ab jetzt ist in jeder neuen Powershell-Session bei jedem [String]-Objekt die Funktion upperFirstandLast() vorhanden die den ersten und letzten Buchstaben groß macht.
Zusätzlich noch die Funktion toUpperByIndex() mit dem man direkt den Index des Buchstabens angeben kann der groß geschrieben werden soll.

Beispiele:
("muellerm").upperFirstandLast()
= MuellerM
("muellerm").toUpperByIndex(1)
= mUellerm

Grüße Uwe
Bitte warten ..
Mitglied: kaeckchen
03.07.2013 um 16:02 Uhr
Vielen vielen Dank Uwe.....

mfG KR
Bitte warten ..
Ähnliche Inhalte
Windows Server
Kann man bestimmte Wörter in den Kennwortrichtlinien sperren?
Frage von AndreasOCWindows Server3 Kommentare

Hallo zusammen, bestimmte Mitarbeiter bei uns nutzen nicht gerade sichere Kennwörter, obwohl ich "Komplexitätsvorraussetzunhrn" aktiviert habe. Habe ich eine ...

Windows Userverwaltung
Bestimmte Wörter für Benutzerpasswörter blocken
gelöst Frage von CortaXWindows Userverwaltung8 Kommentare

Hallo Leute, Gibt es eine Möglichkeit, dass ich bestimmte Wörter blockiere damit diese nicht als User Kennwort eingesetzt werden? ...

Batch & Shell
Mehrere Wörter ersetzen Powershell Skript
gelöst Frage von Beginner01Batch & Shell4 Kommentare

Hallo an die Gemeinde! Ich habe eine Textdatei, in der ich mehrere verteilte Wörter mittels Windows Powershell ersetzen möchte. ...

Batch & Shell
Powershell - Pfadlänge mit mehr als 260 Zeichen
gelöst Frage von BuggerBatch & Shell11 Kommentare

Hallo zusammen, ich habe bei Frankys Web diesen Code gefunden: Leider werden Pfade die länger als 260 Zeichen sind ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 14 StundenMicrosoft Office2 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 16 StundenDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 17 StundenSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 20 StundenMicrosoft Office1 Kommentar

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Server-Hardware
Veeam Backup Server stürzt alle paar Tage ab
Frage von Leo-leServer-Hardware12 Kommentare

Hallo Forum, ich habe momentan folgendes Problem. Veeam Backup and Replication 9.5 u2 auf voll gepatchten DL 380 G7 ...

Windows 10
Win10 Laptop findet keine Netzwerkgeräte und Freigaben mehr
Frage von CoolzeroWindows 1010 Kommentare

Hi, seit ein paar Tagen habe ich das Problem das mein Windows 10 Laptop keine Geräte mehr in der ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell10 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...