我的脚本的一部分如下所示:

move-item -path $_.FullName+"\*.7z" -destination "$destination"

它返回错误:



但是,如果我将该变量更改为精确值,则可以:
move-item -path "D:\test1\test2\test3\test4\*.7z" -destination "$destination"

问题是什么?

最佳答案

要将表达式用作命令行的一部分(在参数模式下进行解析),您必须使用(...)强制使用新的解析上下文:

Move-Item -path ($_.FullName+"\*.7z") -destination "$destination"

参见 Get-Help about_Parsing

在这种情况下,假设表达式正在构造一个字符串值,则使用具有嵌入式子表达式($(...))的可扩展(插值)字符串是可行的选择,如Ben Richard's answer所示。

关于powershell - 移动项路径作为变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44144587/

10-12 13:32