powershell字符串替换内联或新循环



在'fullname'中做一些字符串替换的最佳方法是什么?

类似.Replace($oldString, $newString),但它需要在MD5已经计算出来之后完成。

或者它只是更好地做另一个ForEach-Object后,我的MD5进程完成?

| select-object name, fullname, @{Name = "MD5"; Expression = { (Get-FileHash $_.FullName -Algorithm MD5).Hash.ToLower() } }

需要在MD5已经计算完成后进行

我不认为你可以依赖于另一个计算属性时,创建一个计算属性,至少不是在同一个管道步骤。每个计算的属性只有在当前管道步骤作为一个整体完成时才可用。

你可以做的是像这样链接两个Select-Object语句:

Get-ChildItem -file |
select-object fullname, name, @{Name = "MD5"; Expression = { (Get-FileHash $_.FullName -Algorithm MD5).Hash.ToLower() } } | 
select-object name, MD5, @{Name = 'fullname'; Expression = { <# do something with $_.fullname and $_.MD5 #> }}

相关内容

  • 没有找到相关文章

最新更新