Powershell md5sum别名

Powershell md5sum别名,powershell,Powershell,我的目标是可以在powershell中键入md5sum文件。 我尝试添加别名,请参见下面的代码: function file_hash { param ( [Parameter(Mandatory = $true, Position = 0)] $algorithm, [Parameter(mandatory=$false, ValueFromPipeline=$true, Position = 1)] $file ) if ($file) {

我的目标是可以在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”,因为它为null。 有人能帮我吗?
如何获取我的md5sum别名?

简而言之,你不能做你想做的事情,至少不能用你想做的方式

从以下Microsoft文档:

不能使用参数和值为命令创建别名,例如
Set Location-Path C:\Windows\System32

上述链接提供了实现相同功能的替代方案,但:

要为命令创建别名,请创建包含该命令的函数,然后为该函数创建别名

PS>函数CD32{设置位置-路径C:\Windows\System32}
PS>设置别名-名称Go-值CD32
因此,在您的情况下,您可以执行以下操作:

函数调用-FileHashMD5
{
参数($File)
文件\u哈希-算法“MD5”-文件$file
}
设置别名-名称md5sum-值“Invoke-FileHashMD5”