通過cmd調用Powershell腳本 批量修改文件編碼


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM