我的目标是可以在powershell中键入md5sum文件。我试图添加一个别名(请参阅下面的代码):
function file_hash {
param (
[Parameter(Mandatory = $true, Position = 0)]
$algorithm,
[Parameter(mandatory=$false, ValueFromPipeline=$true, Position = 1)]
$file
)
if ($file) {
(Get-FileHash -Path $file -Algorithm $algorithm).Hash
}
}
Set-Alias md5sum (file_hash -algorithm 'MD5' -file $args)Powershell无法创建别名,因为以下错误:无法将参数'Value‘绑定到参数’Value‘,因为它是null。有人能帮我吗?我怎样才能得到我的md5sum别名?
发布于 2020-09-19 13:13:09
总之,你不能做你想做的事,至少不能以你想做的方式去做。
来自示例5:为带有参数的命令创建别名的Microsoft文档
不能为带有参数和值的命令(如
Set-Location -Path C:\Windows\System32)创建别名。
不过,上面的链接提供了实现相同功能的另一种选择:
若要为命令创建别名,请创建包含该命令的函数,然后为该函数创建别名。
PS> Function CD32 {Set-Location -Path C:\Windows\System32}
PS> Set-Alias -Name Go -Value CD32所以在你的情况下,你会做这样的事情:
function Invoke-FileHashMD5
{
param( $File )
file_hash -algorithm 'MD5' -file $File
}
Set-Alias -Name md5sum -Value "Invoke-FileHashMD5"https://stackoverflow.com/questions/63968913
复制相似问题