Powershell: Remove-Item - path抛出整数错误



这是一个相对较短的,但似乎无法弄清楚计算机如何能够看到不同的内容。我有一个文件夹,我想删除与Powershell,但Remove-Item函数抛出一个错误,因为路径包含Program Files (x86)

见下面的代码:

Invoke-Command -ComputerName $computer {Remove-Item -Path C:Program Files (x86)MicrosoftTest -Force -Verbose}

它不喜欢程序文件在x86周围有括号的事实。当我在路径周围加上引号时,它根本无法识别它。

我怎样才能绕过这个?

即使使用单引号也会出错:

Invoke-Command -ComputerName $computer {Remove-Item -Path 'C:Program Files (x86)MicrosoftTest' -Force -Verbose}

Cannot find path 'C:Program Files (x86)MicrosoftTest' because it does not exist. + CategoryInfo : ObjectNotFound: (C:Program File...test:String) [Remove-Item], ItemNotFoundException + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand + PSComputerName : MKC-03812

这可能会有所帮助https://learn.microsoft.com/en us/powershell/module/microsoft.powershell.core/about/about_quoting_rules?view=powershell - 7.2

但是答案是

Invoke-Command -ComputerName $computer {Remove-Item -Path 'C:Program Files (x86)MicrosoftTest' -Force -Verbose}

你的问题是使用双引号。使用单引号停止将圆括号解释为单独的子句/语句。

Invoke-Command -ComputerName $computer {Remove-Item -Path 'C:Program Files (x86)MicrosoftTest' -Force -Verbose}

同样,如果您的命令包含复杂的或嵌套的引号,您可能更幸运地使用-LiteralPath参数代替。

Invoke-Command -ComputerName $computer {Remove-Item -LiteralPath 'C:Program Files (x86)MicrosoftTest' -Force -Verbose}

相关内容

  • 没有找到相关文章

最新更新