gpt4 book ai didi

Powershell 和路径作为双引号分隔的参数

转载 作者:行者123 更新时间:2023-12-04 12:42:42 25 4
gpt4 key购买 nike

我有一个简单的 PS 脚本,它需要接受一个恰好是目录路径的参数。我将这条路径交给我,并按如下方式调用 ps 脚本:

powershell.exe -ExecutionPolicy Bypass -F "C:\temp\ctest\logging test\postinstall.ps1" "C:\temp\ctest\logging test\"

我无法控制将 '\' 添加到作为此脚本参数的路径中,并且它必须用双引号引起来以说明路径中的空间。所以,我最终得到的是我的 ps 脚本中的一个变量,它是字符串:
C:\temp\ctest\logging test"     <<-- error in path!  with the double-quote char. :(

我的问题很简单,我希望,但我找不到解决它的人。在这种情况下,有没有办法告诉 powershell 不要转义最后一个双引号?

谢谢你的时间,并教育我。

最佳答案

该问题似乎仅在从 CMD 调用时才出现。在你的脚本中,你可以这样做:

$args[0].TrimEnd('"')

如果存在,它将删除尾随双引号。

或者你可以加倍反斜杠:
C:\>powershell.exe -f C:\echo.ps1 "C:\temp\ctest\logging test\\"

echo.ps1 的内容
Write-Host ('"{0}"' -f $args[0])

关于Powershell 和路径作为双引号分隔的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9318069/

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