使用参数运行PowerShell脚本

使用参数运行PowerShell脚本,powershell,parameters,Powershell,Parameters,我有一个PowerShell脚本,需要将路径作为参数传递给它,并用双引号括起来,因为路径可能包含空间。但是我的问题是当路径是驱动器的根时,例如“E:\”脚本中传递的参数转换为E:(必须是E:\)如何解决这个问题?当我使用单引号时,传递的字符串是“E:\”,并且包含引号 请帮忙 我的代码示例: in test.ps1 Write-Host ($args[0]) Result: .\test.ps1 "E:\" E:" .\test.ps1 'E:\' 'E:\'

我有一个PowerShell脚本,需要将路径作为参数传递给它,并用双引号括起来,因为路径可能包含空间。但是我的问题是当路径是驱动器的根时,例如
“E:\”
脚本中传递的参数转换为E:(必须是
E:\
)如何解决这个问题?当我使用单引号时,传递的字符串是
“E:\”
,并且包含引号

请帮忙

我的代码示例:

in test.ps1
Write-Host ($args[0])


Result:
.\test.ps1 "E:\"
E:"

.\test.ps1 'E:\'
'E:\'

.\test.ps1 "'E:\'"
'E:\'

.\test.ps1 "E:\Test"
E:\test

我从注册表中这样调用脚本:powershell-File“test.ps1”“%V”

我通过将
“%V”
更改为
“%V”
解决了这个问题,并且在脚本中我使用trim函数删除单个引号

$Arg0 = ($args[0])
$Path = $Arg0.trim("'")

为什么引用`E:`是一个问题?您能提供一个最小的powershell脚本来说明您的问题吗?您是从外部程序调用该脚本吗?\在某些环境中是一个转义。我从注册表中这样调用该脚本:powershell-File“test.ps1”“%V”“您需要使用\\转义\n,然后使用\\。但是注册表扩展了“%V”