Powershell和作为参数的路径是双重的
我有一个简单的PS脚本,需要接受恰好是目录路径的参数。 我得到这个路径给我,并调用ps脚本如下:
powershell.exe -ExecutionPolicy Bypass -F "C:tempctestlogging testpostinstall.ps1" "C:tempctestlogging test"
我无法控制将''添加到此脚本参数的路径中,并且必须使用双引号才能解释路径中的空间。 所以,我结束的是我的ps脚本中的一个变量,它是字符串:
C:tempctestlogging test" <<-- error in path! with the double-quote char. :(
我的问题很简单,我希望,但是我找不到解决问题的人。 有没有办法告诉powershell不要逃避这种情况下的最后一个双引号?
谢谢你的时间,并教育我。
这个问题看起来只有在从CMD调用时才会出现。 在你的脚本中你可以这样做:
$args[0].TrimEnd('"')
它会删除尾随的双引号(如果存在)。
或者你可以将反斜杠翻倍:
C:>powershell.exe -f C:echo.ps1 "C:tempctestlogging test"
echo.ps1的内容
Write-Host ('"{0}"' -f $args[0])
尝试像这样:
powershell.exe -ExecutionPolicy Bypass -F 'C:tempctestlogging testpostinstall.ps1' 'C:tempctestlogging test'
您是否在您的调用中尝试过单引号?
链接地址: http://www.djcxy.com/p/10485.html上一篇: Powershell and a path as an argument that is double
下一篇: Fiducial marker detection in the presence of camera shake