一共需要3個文件,把這3個文件放在一個路徑下
UTF8NoBOM.bat 這個文件是為了調用ps1
pwsh -file "%cd%\UTF8NoBOM.ps1"
UTF8NoBOM.ps1 這個文件是為了導入自定義的module,使用自定義module中定義的Powershell函數
Import-Module ".\UTF8NoBOM.psm1" $extension = "*.sql" Convert-EncodingToUTF8NoBOM "..\..\文件夾1" "$extension" Convert-EncodingToUTF8NoBOM "..\..\文件夾2" "$extension" Convert-EncodingToUTF8NoBOM "..\..\文件夾3" "$extension"
UTF8NoBOM.psm1 自定義的module
function Convert-EncodingToUTF8NoBOM { param( [Parameter(Mandatory = $false)] [string] $targetDir = '.', [Parameter(Mandatory = $false)] $extension = '*') $Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False $files = Get-ChildItem -Path $targetDir -Filter $extension foreach ($file in $files) { #$file.FullName $fileContent = Get-Content -Path $file.FullName [System.IO.File]::WriteAllLines($file.FullName,$fileContent,$Utf8NoBomEncoding) } }