修剪存储为变量的read-host目录中的引号

时间:2013-09-23 08:47:29

标签: powershell path rename quotes trim

我有一个小的Powershell脚本,我根据另一个文件夹中的文件名帮助重命名文件夹。

我有两条读取主机行,用于捕获用户的输入,并将输入作为源文件夹和目标文件夹存储为字符串。这使得生活更轻松,因为我可以拖放而不是完全键入路径。

问题是Powershell不断抛出错误,说它无法找到驱动器“X: 这似乎是由路径周围的引号引起的,因为拖放后删除它们工作正常。

以下是如何捕获它:

$source = Read-Host "Source folder"
$destination = Read-Host "Destination folder"
[array]$a = Get-ChildItem $source
[array]$b = Get-ChildItem $destination

在运行Get-ChildItem命令之前,从这些字符串中删除引号的最简单方法是什么?我尝试过像$ source.replace,$ _这样的东西。修剪和$ source -replace('“',”“)

似乎无法使其发挥作用。

1 个答案:

答案 0 :(得分:2)

使用单引号,如下所示:

PS C:\> $foo = 'x:\"some weird\path"'
PS C:\> $foo
x:\"some weird\path"
PS C:\> $foo.Replace('"', '')
x:\some weird\path
PS C:\> $foo -replace '"', ''
x:\some weird\path