PowerShell小僧:ファイルの文字コード確認を関数化 [コンピューター]
ファイル名の一括置換スクリプトのファイルの文字コード確認部分を関数化してみた。
関数の戻り値は3つあるので、カンマ区切りの単一の配列として受け取る。
【参考】
https://inokara.hateblo.jp/entry/2016/03/11/002633
【ChangeName3_UTF8.ps1】
# 履歴ファイルの文字コード確認
$myMojiCoding1 = myFChkMojiCode1 -TargetFile1 $HistFile1
Write-Host "`$reader.Read(`$file).Name="$myMojiCoding1[0]
Write-Host "`$myMojiCoding1="$myMojiCoding1[1]
Write-Host "履歴ファイルの行数="$myMojiCoding1[2]
【myFunction1_UTF8.ps1】
# 関数:ファイルの文字コード確認
function myFChkMojiCode1{
param(
[Parameter(Mandatory=$true)]
[string]$TargetFile1 # 対象ファイル
)
$file=Get-Item $TargetFile1
$reader=new-object Hnx8.ReadJEnc.FileReader($file)
[String]$ReaderName1 = $reader.Read($file).Name
$myMojiCoding1 = myMojiCode1($ReaderName1)
$myLine1 = (Get-Content -LiteralPath $TargetFile1|Measure-Object -Line).Lines
return $ReaderName1,$myMojiCoding1,$myLine1
}
関数の戻り値は3つあるので、カンマ区切りの単一の配列として受け取る。
【参考】
https://inokara.hateblo.jp/entry/2016/03/11/002633
【ChangeName3_UTF8.ps1】
# 履歴ファイルの文字コード確認
$myMojiCoding1 = myFChkMojiCode1 -TargetFile1 $HistFile1
Write-Host "`$reader.Read(`$file).Name="$myMojiCoding1[0]
Write-Host "`$myMojiCoding1="$myMojiCoding1[1]
Write-Host "履歴ファイルの行数="$myMojiCoding1[2]
【myFunction1_UTF8.ps1】
# 関数:ファイルの文字コード確認
function myFChkMojiCode1{
param(
[Parameter(Mandatory=$true)]
[string]$TargetFile1 # 対象ファイル
)
$file=Get-Item $TargetFile1
$reader=new-object Hnx8.ReadJEnc.FileReader($file)
[String]$ReaderName1 = $reader.Read($file).Name
$myMojiCoding1 = myMojiCode1($ReaderName1)
$myLine1 = (Get-Content -LiteralPath $TargetFile1|Measure-Object -Line).Lines
return $ReaderName1,$myMojiCoding1,$myLine1
}
タグ:powershell
ヤバイぜ! ありがとうございます(^_0)ノ
by cheese999 (2021-11-22 13:17)
新参者ではありません(^0^)
名前を見てもお分かりのように、『H☆imagine』のU3です。
社会派ブログの『Justice!』を復活させました。今後ともよろしくお願いします。
by U3 (2021-11-23 12:08)
U3さん、覚えていますよ~。
あんまりブログ更新していませんが。。。
(^^)/
by cheese999 (2021-11-26 10:26)