通过cmd调用Powershell脚本

时间:2023-03-09 08:26:35
通过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)
}
}