0

我有一个小的 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、$_ 之类的东西。trim 和 $source -replace ('"', "")

似乎无法让它发挥作用。

4

1 回答 1

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
于 2013-09-23T08:59:53.280 回答