通过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)
  }
}

猜你喜欢

转载自www.cnblogs.com/chucklu/p/10537251.html
今日推荐