一共需要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) } }