首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell md5sum别名

Powershell md5sum别名
EN

Stack Overflow用户
提问于 2020-09-19 12:41:32
回答 1查看 108关注 0票数 1

我的目标是可以在powershell中键入md5sum文件。我试图添加一个别名(请参阅下面的代码):

代码语言:javascript
复制
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别名?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-19 13:13:09

总之,你不能做你想做的事,至少不能以你想做的方式去做。

来自示例5:为带有参数的命令创建别名的Microsoft文档

不能为带有参数和值的命令(如Set-Location -Path C:\Windows\System32 )创建别名。

不过,上面的链接提供了实现相同功能的另一种选择:

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

代码语言:javascript
复制
PS> Function CD32 {Set-Location -Path C:\Windows\System32}

PS> Set-Alias -Name Go -Value CD32

所以在你的情况下,你会做这样的事情:

代码语言:javascript
复制
function Invoke-FileHashMD5
{
    param( $File )
    file_hash -algorithm 'MD5' -file $File
}

Set-Alias -Name md5sum -Value "Invoke-FileHashMD5"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63968913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档