我在 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()