PowerShell工作目錄路徑含中括號字元問題 - Windows

Adele avatar
By Adele
at 2020-10-22T18:28

Table of Contents

作業系統:Windows 10

Service Pack:20H2

發生問題頻率:100%

是否有做Windows Update:有

問題內容:PowerShell工作目錄路徑中帶有中括號導致結果不如預期

PS D:\> Test-Path -LiteralPath "D:\[test] videos\test video 1.mp4"
True
PS D:\> Test-Path -LiteralPath "D:\test videos\test video 1.mp4"
True
PS D:\> Set-Location -LiteralPath "D:\test videos"
PS D:\test videos> Test-Path -LiteralPath "test video 1.mp4"
True
PS D:\test videos> Set-Location -LiteralPath "D:\[test] videos"
PS D:\[test] videos> Test-Path -LiteralPath "test video 1.mp4"
False
PS D:\[test] videos> $env:Path = "C:\ffmpeg\bin;" + $env:Path
PS D:\[test] videos> Start-Process -FilePath "ffmpeg" -ArgumentList '-i "test
video 1.mp4" -c copy output.mkv' -NoNewWindow -PassThru -Wait
Start-Process : 無法執行作業,因為萬用字元路徑 D:\[test] videos 無法解析成檔案

位於 線路:1 字元:1
+ Start-Process -FilePath "ffmpeg" -ArgumentList '-i "test video 1.mp4" ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (D:\[test] videos:String) [Start-
Process], FileNotFoundException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.
StartProcessCommand

如上所示若工作目錄中帶有中括號時用Test-Path判斷相對路徑皆回傳False
Start-Process命令也會發生發生錯誤...
我想請問,除了使用絕對路徑以外有什麼解決方法?

--
Tags: Windows

All Comments

Hazel avatar
By Hazel
at 2020-10-24T12:01
一般是替換成2個雙引號,就會當成一個雙引號(溢出字元處
理)
Lauren avatar
By Lauren
at 2020-10-25T13:28
看是那種語言,就配合該語言的溢出字元處理。加上看是誰
Lauren avatar
By Lauren
at 2020-10-27T23:56
執行路徑,也要依那種方式處理
Kristin avatar
By Kristin
at 2020-10-29T17:01
不對, 原 PO 的問題是 powershell 好像對工作目錄裡有 []
Gilbert avatar
By Gilbert
at 2020-11-01T10:45
的時候使用相對路徑指定檔案會有問題
Brianna avatar
By Brianna
at 2020-11-05T11:23
因為是相對路徑所以指令裡根本也就沒有能跳脫的字元
Mia avatar
By Mia
at 2020-11-06T17:26
目前找得到的解決法都是繞個圈指定絕對路徑, 例如用 $(pwd)
Joseph avatar
By Joseph
at 2020-11-11T01:57
展開成工作目錄, 再丟給指令去做
Victoria avatar
By Victoria
at 2020-11-12T15:13
L大的意思是先($pwd+相對路徑)組成完整路徑在處理嗎?
Jacky avatar
By Jacky
at 2020-11-16T19:56
但我用Start-Process執行$env:Path下的程式也會出錯
除非我放棄指定工作目錄
Andrew avatar
By Andrew
at 2020-11-20T19:11
這篇的解答是你要的嗎? https://tinyurl.com/y5gnwnw5
Oliver avatar
By Oliver
at 2020-11-25T19:04
我可以正常處裡含中掛號的檔案路徑
我遇到的問題是工作目錄中含有中括號會出錯
Madame avatar
By Madame
at 2020-11-27T02:41
不過Test-Path無法自己指定工作目錄就不適用這方法
Hamiltion avatar
By Hamiltion
at 2020-11-28T18:12
目前也只能將相對路徑轉成完整路徑來避開工作目錄問題

SL Go 22888元起

Doris avatar
By Doris
at 2020-10-22T10:41
https://www.youtube.com/watch?v=8gbP-wl-lOsandamp;t=0s 這價格.....如果你要考慮的話,等到明年的時候降價在買不遲....... -- Sent from my Windows - ...

買surface go 2頂規?

Delia avatar
By Delia
at 2020-10-21T22:55
想請教各位的看法 我的美工兼大秘書,最近想買一台surface go 2,但因為她時常使用到做ppt與修圖,各 位認為這款的效能夠嗎? 目前她考慮的是攜帶方便,其餘部分我覺得處理器似乎不夠強!?不知道大家使用或測試 起來的狀況如何呢? - ...

WIN10 沒聲音

Necoo avatar
By Necoo
at 2020-10-21T09:40
發文前請詳閱↓↓↓↓ 若你是發表Windows 10相關問題 請一併PO出版本相關資訊 and#34;Windows鍵and#34; + and#34;Rand#34; → 輸入 and#34;winverand#34; 並將上面的版本資訊打到文章內 若發表Windows 10問題文章 沒有將版本號打 ...

現在2004版是否還是一堆問題?(U・ω・U)

Caroline avatar
By Caroline
at 2020-10-21T01:09
安安 我阿肥啦 由於是用win7序號 直接重灌到2004版, 沒比較過1909跟2004的差異 但玩個魔物居然藍頻後重開 以為是PSU快壞了 win7也沒這樣 後查一下事件記錄 一堆警告 有幾個還是重大 這算不算是2004的鍋? PS.剛剛突然電腦 炸了之後開不了, 感覺是PSU 但昨天才 ...

微軟放棄手機系統的後遺症?

Odelette avatar
By Odelette
at 2020-10-20T18:16
除了Cortana (Cortana將定位生產力支援,放棄消費技能亦不支援第三方功能) 微軟還有什麼因為放棄自主手機系統 產生的後續負面效應嗎? Win10、Office、AWS(誤)、Xbox... 好像都沒有因而受什麼影響 thanks - ...