将两个命令输出存储到 powershell 中的变量中

将两个命令输出存储到 powershell 中的变量中

我在 PowerShell 中运行以下命令。

Get-ChildItem $sourcefs -Recurse -Exclude $exclude | Copy-Item -Destination {Join-Path "$destfs\$Bdate" $_.FullName.Substring($source.length)}

我想将上述命令的输出存储到变量中,但它没有存储。以下是尝试,但失败了。

$Cp = Get-ChildItem $sourcefs -Recurse -Exclude $exclude | Copy-Item -Destination {Join-Path "$destfs\$Bdate" $_.FullName.Substring($source.length)} 2>&1 

请提出建议。

答案1

要将变量设置为代码块,请将变量声明为[scriptblock]并将要分配的代码放在花括号中:

[scriptblock]$myCode = {get-childitem -path 'c:\temp\' -Recurse | ?{$_ -like '*.xml'}}

要将代码视为字符串,只需输出变量:

$myCode

要执行代码并查看输出,请调用代码:

$myCode.Invoke()

相关内容