我正在嘗試設定我的右鍵單擊背景關系選單以在當前目錄中啟動 CMD 和 PowerShell5。我的 PowerShell 7 命令作業正常。
這是我得到的:

以管理員身份打開PowerShell5的注冊表命令如下:
PowerShell -Command "Start-Process cmd -ArgumentList '/s,/k,pushd %V && start PowerShell -NoExit && exit' -Verb RunAs"
以管理員身份打開命令提示符的注冊表命令如下:
pwsh -noprofile -windowstyle hidden -Command "Start-Process cmd.exe -ArgumentList '/s,/k,pushd,%V' -Verb RunAs"
我必須打開節點命令提示符的注冊表命令是這樣的:
cmd.exe /s /k "pushd "%V" & "C:\Program Files\nodejs\nodevars.bat""
(我不知道如何以管理員身份打開節點提示)。
今天,我意識到如果我打開的目錄的路徑或檔案夾名稱中有撇號,所有這些命令都會失敗。我嘗試了很多不同的注冊表命令以及引號和轉義字符的組合,但沒有任何效果。它變得非常令人沮喪。
有誰知道在帶有撇號的目錄中打開 CMD 和 PowerShell 5 的任何作業命令?
任何幫助都將不勝感激。
uj5u.com熱心網友回復:
解決的關鍵是:
'...'完全避免參考 -"..."僅使用參考。嵌套
"..."參考需要使用\作為轉義字符的復雜轉義。當
%V擴展到根路徑(例如C:\)時,需要一個額外的技巧來處理這種情況: 的引數"C:\"將被決議為好像\"是轉義的"而不是逐字的,\然后是未轉義的(句法)"。通過簡單的使用%V/,而不是%V,這個問題被忽略(在/有效地忽略雙方cmd.exe和PowerShell)。
筆記:
以下命令旨在逐字放置在注冊表中。以編程方式這樣做會使進一步轉義復雜化。
您可以按如下方式測驗驅動命令:
- 替換
%V為感興趣的檔案夾的文字路徑。 - 通過 Windows
Run對話框提交( WinKey-R); 或者,從 運行它們cmd.exe,但隨后您必須^轉義元字符,例如&.
- 替換
powershell.exe以提升(以管理員身份)運行(Windows PowerShell):
powershell.exe -WindowStyle Hidden -NoProfile -Command "Start-Process -Verb RunAs powershell.exe -ArgumentList \"-NoExit -Command Push-Location \\\"\"%V/\\\"\"\"
cmd.exe以高程運行(以管理員身份):
powershell.exe -WindowStyle Hidden -NoProfile -Command "Start-Process -Verb RunAs cmd.exe -ArgumentList \"/k pushd \"\"%V/\"\"\"
cmd.exe使用已設定的 Node.js 環境運行提升提示(以管理員身份):
powershell.exe -WindowStyle Hidden -NoProfile -Command "Start-Process -Verb RunAs cmd.exe -ArgumentList \"/k pushd \"\"%V/\"\" & \"\"C:\Program Files\nodejs\nodevars.bat\"\"\"
注意:要從 進行測驗cmd.exe,請使用^&代替&。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/384899.html
