我最近開始使用PowerShell的,因爲我覺得它非常有用和強大的:)PowerShell的 - 包含一個值
Recursivly改變路徑,這是該方案: 客戶有用來在它的逗號的文件夾結構。 由於最新的程序添加,由於逗號,此操作失敗。 從本質上講,他們只是想用逗號替換「 - 」
這就是我所擁有的......它可以工作,但我覺得它效率低下。 該腳本完成應有的功能,但只要改變了一個路徑,剩下的就會失敗,因爲原來的路徑已經改變了,你跟着我? :)
$folderpath = "C:\pathcontainingcomma"
foreach ($i in get-childitem $folderpath -Recurse) {
$name = $i.name.replace(","," - ")
Rename-Item -Path $i.fullname -NewName $name -Force -Verbose
}
我希望我解釋說不夠好,請提問,如果您有任何:)
無法將參數綁定到參數'Path',因爲它爲空。 我們在這裏錯過了什麼嗎?我沒有看到$我任何地方要麼..而且它不是$項目,然後我得到這個錯誤: Rename-Item:無法將'System.Object []'轉換爲參數所需的類型'System.String' '路徑'。指定的方法 od不支持。 它應該是$ items.Name例如? – 2012-03-29 06:48:37
對不起,你的代碼太忠實了。我剛剛使用管道重寫了它,因爲我認爲'foreach(){}'通常不是PowerShell中非常習慣的解決方案。 – Joey 2012-03-29 07:05:19
不,'$ items'是一個數組(它在實際循環之前被反轉)。 'ForEach-Object'允許通過'$ _'訪問當前的管道元素(通常在涉及腳本塊的管道中)。 – Joey 2012-03-29 07:07:08