我经常发现自己必须在 cmdlet 之后连接字符串和变量。例如,
New-Item $archive_path + "logfile.txt" -type file
如果我尝试运行此命令,PowerShell 会抛出以下错误:
New-Item:找不到接受参数“+”的位置参数。
我没有正确连接字符串吗?我不想在执行此操作的每个 cmdlet 之前声明另一个变量(例如,$logfile = $archive_path + "logfile.txt"
,然后做New-Item $logfile -type file
)。另外,我不会总是连接文件路径。
您收到该错误是因为 PowerShell 解析器看到$archive_path
, +
, and "logfile.txt"
作为三个单独的参数参数,而不是作为一个字符串。
将字符串连接括在括号中,()
,更改评估顺序:
New-Item ($archive_path + "logfile.txt") -Type file
或者将变量括在子表达式中:
New-Item "$($archive_path)logfile.txt" -Type file
您可以阅读有关参数模式解析的内容Get-Help about_Parsing https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-5.1.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)