當路徑中有方括號時,PowerShell有一種奇怪的行爲。舉例來說,如果你的文件夾中:路徑中包含方括號的奇怪行爲
C:\Some Movie [2011]
其中包含一個mkv
文件,並鍵入:返回
ls *.mkv
什麼!我認爲問題在於PowerShell將嘗試做一些喜歡這樣的事實:
Get-ChildItem 'C:\Some Movie [2011]\*.mkv'
因爲[2011]
被認爲是一個通配符其失敗。我能夠從這樣的文件夾下面的命令retrive所有mkv
:
Get-ChildItem -LiteralPath 'C:\Some Movie [2011]' -Include *.mkv
但是當我嘗試在重命名-Item命令養活這些結果失敗。
Get-ChildItem -LiteralPath 'C:\Some Movie [2011]' -Include *.mkv | Rename-Item -NewName "movie.mkv"
在沒有括號的文件夾中執行相同的操作沒有問題。有任何想法嗎?
如果該文件夾包含多個mkv文件該怎麼辦?您不能將它們全部重命名爲movie.mkv。 – 2011-12-26 14:50:27
是的,我只有一個'mkv'文件,我只是不知道它的名字,所以我需要一個通配符。 – lalibi 2011-12-26 15:35:45