我经常发现自己必须在cmdlet之后将字符串与变量连接在一起。例如,

New-Item $archive_path + "logfile.txt" -type file
如果我尝试运行此命令,PowerShell会引发以下错误:

我没有正确连接字符串吗?我不想在执行此操作的每个cmdlet之前声明另一个变量(例如$logfile = $archive_path + "logfile.txt",然后执行New-Item $logfile -type file)。另外,我将不会总是串联一个文件路径。

最佳答案

之所以会出现此错误,是因为PowerShell解析器将$archive_path+"logfile.txt"视为三个单独的参数参数,而不是一个字符串。
将字符串连接字符串括在括号()中,以更改求值顺序:

New-Item ($archive_path + "logfile.txt") -Type file
或将变量括在子表达式中:
New-Item "$($archive_path)logfile.txt" -Type file
您可以阅读有关使用 Get-Help about_Parsing 解析参数模式的信息。

关于PowerShell:在cmdlet之后将字符串与变量连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33446831/

10-12 23:31