2013-09-23 96 views
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,$ _。修剪和$ source -replace('「',」「)

似乎無法得到此工作。

+0

這將是有益的,看看你嘗試從報價中刪除無效的字符串。 – vonPryz

回答

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 
+0

謝謝,不知道出了什麼問題,但我再次嘗試了$ foo.replace方法(經過多次失敗嘗試),並且完美運行。 – Eds