gpt4 book ai didi

powershell - 移动项路径作为变量

转载 作者:行者123 更新时间:2023-12-03 00:46:26 25 4
gpt4 key购买 nike

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

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

它返回错误:

Move-Item : A positional parameter cannot be found that accepts argument '+*.7z'. At line:32 char:4 + move-item -path $_.FullName+"*.7z" -destination "$destin ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Move-Item], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.MoveItemCommand



但是,如果我将该变量更改为精确值,则可以:
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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com