我无法弄清楚如何在PowerShell中编写一个简单的函数。我是一名C#开发人员,所以可能还有一些我不知道的令人费解的PowerShell结构。
这是我想要做的事情:
function ToBase64([string] $input) {
$bytes = [System.Text.Encoding]::UTF8.GetBytes($input)
return [System.Convert]::ToBase64String($bytes)
}
$encoded = ToBase64 -input "Hello World"
Write-Host "Encoded: $encoded"
我希望这个输出:
Encoded: SGVsbG8gV29ybGQ=
但我只是得到一个空字符串:
Encoded:
PowerShell本身没有报告任何错误。
我这样调用这个脚本:
powershell -ExecutionPolicy Unrestricted -File "base64.ps1"
我完全迷失在这里。我试图谷歌搜索这个问题,但我发现的一切都表明这应该有效。
答案 0 :(得分:0)
试试这个。
function ToBase64{
$bytes = [System.Text.Encoding]::UTF8.GetBytes($args[0])
return [System.Convert]::ToBase64String($bytes)
}
$encoded = ToBase64 -input "Hello World"
Write-Host "Encoded: $encoded"