PowerShellの英字の大文字と小文字を変換するサンプルです。
目次
| サンプル | 英字の大文字を小文字にする(ToLower) | 
| 英字の小文字を大文字にする(ToUpper) | |
| 先頭の文字のみ大文字にする | |
| 最初の文字を大文字にして他の文字を小文字にする | |
| 大文字を小文字にし、小文字を大文字にする | 
英字の大文字を小文字にする(ToLower)
| 文字列.ToLower() | 
- ToLowerメソッドは、英字の大文字を小文字にします。
 - 英字の全角の大文字も全角の小文字に変換されます。
 
$str1 =  "ABC"
Write-Host ($str1.ToLower()) # abc
$str2 =  "Abc"
Write-Host ($str2.ToLower()) # abc
$str3 =  "ABC"
Write-Host ($str3.ToLower()) # abc
$str4 =  "あいう"
Write-Host ($str4.ToLower()) # あいう
全角の英字の大文字は、全角の英字の小文字に変換します。
英字の小文字を大文字にする(ToUpper)
| 文字列.ToUpper() | 
- ToUpperメソッドは、英字の小文字を大文字にします。
 - 英字の全角の小文字も全角の大文字に変換されます。
 
$str1 =  "abc"
Write-Host ($str1.ToUpper()) # ABC
$str2 =  "Abc"
Write-Host ($str2.ToUpper()) # ABC
$str3 =  "abc"
Write-Host ($str3.ToUpper()) # ABC
$str4 =  "あいう"
Write-Host ($str4.ToUpper()) # あいう
全角の英字の小文字は、全角の英字の大文字に変換します。
先頭の文字のみ大文字にする
$str1 =  "abcde"
Write-Host ($str1.Substring(0, 1).ToUpper() + $str1.Substring(1)) # Abcde
$str2 =  "AbcDE"
Write-Host ($str2.Substring(0, 1).ToUpper() + $str2.Substring(1)) # AbcDE
Substringの引数が2つの場合は、1つめの引数は開始位置で2つめの引数は長さです。
Substringの引数が1つの場合は、指定した位置の文字から最後の文字まで取得します。
5行目は、後ろ2つの文字は大文字のままです。
最初の文字を大文字にして他の文字を小文字にする
$str1 =  "abcde"
Write-Host ($str1.Substring(0, 1).ToUpper() + $str1.Substring(1).ToLower()) # Abcde
$str2 =  "AbcDE"
Write-Host ($str2.Substring(0, 1).ToUpper() + $str2.Substring(1).ToLower()) # Abcde
Substringの引数が2つの場合は、1つめの引数は開始位置で2つめの引数は長さです。
Substringの引数が1つの場合は、指定した位置の文字から最後の文字まで取得します。
5行目は、後ろ2つの文字も小文字になっています。
大文字を小文字にし、小文字を大文字にする
$str1 =  "AbCdEfg"
$str2 =  ""
for ($i = 0; $i -lt $str1.Length; $i++) {
	If ($str1.Substring($i, 1)  -ceq  $str1.Substring($i, 1).ToLower()){
		$str2 = $str2 + $str1.Substring($i, 1).ToUpper()
    }Else{
		$str2 = $str2 + $str1.Substring($i, 1).ToLower()
	}
}
Write-Host ($str2) # aBcDeFG
for文のループで文字列を1文字ずつみていきます。
if文で小文字か判定しtrueであれば大文字に、そうでなければ小文字に変換します。
関連の記事
