É um problema que escapou. Consulte aspas duplas nas configurações minhas da subchave de registro HKCR\Directory\shell
para executar o PowerShell:
==> reg query "HKCR\Directory\shell\PowerShell" /S
HKEY_CLASSES_ROOT\Directory\shell\PowerShell
(Default) REG_SZ PowerShell here
HKEY_CLASSES_ROOT\Directory\shell\PowerShell\command
(Default) REG_SZ powershell.exe -noexit -command Set-Location '"%V"'
e para executar o PowerShell como administrador:
==> reg query "HKCR\Directory\shell\runasPowerShell" /S
HKEY_CLASSES_ROOT\Directory\shell\runasPowerShell
HasLUAShield REG_SZ
(Default) REG_SZ PowerShell here as administrator
HKEY_CLASSES_ROOT\Directory\shell\runasPowerShell\command
(Default) REG_SZ Powershell Start-Process PowerShell -verb runas -ArgumentList
'-noexit', 'Push-Location -literalPath ''""""%V""""'''
Você pode modificar as configurações acima para o HKLM\SOFTWARE\Classes\Directory\background\shell
easy.
Explicação : PowerShell.exe
analisa sua própria linha de comando pré-tokenizada por meio de um processo Host da janela do console conhost.exe
. ( Se for executado a partir do menu de contexto do Windows explorer , ele gera sua própria instância de conhost.exe
).
Portanto, todos os espaços múltiplos consequentes (sem escape por aspas duplas) são considerados separadores de itens redundantes e encolhidos para o único.
É claro que usar aspas simples dentro do PowerShell deve ser suficiente ...