我有一个小的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('“',”“)
似乎无法使其发挥作用。
答案 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