Windows 탐색기에서 컨텍스트 메뉴를 사용하여 Windows bash 터미널을 열 수 있기를 원합니다. 우분투에서 할 수있는 것처럼. 나는 명령을 HKEY_CLASSES_ROOT/Directory/Background/shell
에 하위 키를 만들었습니다Windows 용 컨텍스트 메뉴 bash admin
powershell -c start -verb runas cmd '/c start /D "%V" bash.exe'
이 대부분의 디렉토리 관리자로 배쉬를 열기 위해 잘 작동하지만, 디렉토리에 공백이있는 경우가 충돌합니다. bash는 문자열의 일부만 가져온 다음 탐색 할 디렉토리를 찾을 수없는 것 같습니다. %V
주위에 이스케이프 인용 부호를 시도했습니다 (예 : """%V"""
). 그러나 도움이되지 않았습니다. 어떤 아이디어?
'PowerShell -WindowStyle 숨김 -NoProfile - 명령 시작 프로세스 -FilePath cmd.exe -ArgumentList'/ c start/B/D \ "% v \"bash.exe '-Verb runas'. 이렇게하면 PowerShell의 초기 명령 줄 구문 분석을 통해 큰 따옴표를 백 슬래시로 이스케이프합니다. 숨겨진 창과 프로필이없는 PowerShell을 실행하면 최대한 빨리 화면에서 제거해야합니다. "runas"는 새로운 콘솔이 필요하기 때문에 콘솔을'-NoNewWindow'를 통해 재사용 할 수 없습니다. 그러나 CMD의'/ B' 옵션을'start' 명령에 사용함으로써 적어도 불필요하게 bash를위한 세 번째 콘솔을 만드는 것을 피합니다. – eryksun
HKCR의 키에 쓰지 마십시오. "HKCU \ Software \ Classes"에서 검색 한 다음 "HKLM \ Software \ Classes"에서 검색하는보기입니다. 이것은 구성을 읽는 것이지 쓰는 것이 아닙니다. HKCR에 작성한 결과는 HKCU와 HKLM에 이미 정의 된 내용에 달려 있습니다. – eryksun
다음은 PowerShell을 사용하지 않는 대체 방법입니다. "HKLM \ Software \ Classes \ Directory \ background \ shell \ runas"키를 작성하고 "bash in Administrator"로 열기와 같은 기본값을 지정하십시오. "command"라는 하위 키를 생성하고 기본값으로 "C : \ Windows \ System32 \ cmd.exe"/ c start/B/D "% V"bash.exe'를 지정하십시오. 다른 시스템 디렉토리가있는 경우 경로를 cmd.exe로 변경하십시오. cmd.exe에 대한 완전한 경로 여야합니다. – eryksun