답변:
방금 매우 빠른 테스트를 수행했으며 다음 레지스트리 항목은 탐색기에있는 모든 폴더의 상황에 맞는 메뉴에 "PowerShell here"항목을 추가합니다.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere]
@="&PowerShell here"
[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere\command]
@="cmd.exe /c start \"PS\" powershell.exe -NoExit -Command \"cd \\\"%1\\\"\""
레지스트리로 가져 오기만하면됩니다. cmd.exe
경로를 하드 코딩하지 않기 위해 powershell을 부트 스트랩으로 사용 하고 있습니다.
cmd 스크립트 / 배치 파일과 관련하여. 기본적으로 PowerShell 내에서 CMD 스크립트를 실행하는 것은 의미가 없다고 생각합니다. 그러나 HKCR\cmdfile\shell\open
레지스트리 키 를 수정하여 가능할 수도 있습니다.
PowerShell에서 CMD 배치 파일을 실행하는 데 그리 멀지 않을 것입니다.
%COMSPEC%
를 powershell.exe
사용 하도록 변수를 변경하려고 시도 할 수 setx
있지만 이것이 실제로 나쁜 생각임을 깨닫고 다시 변경하는 데 시간이 오래 걸리지 않을 것이라고 생각합니다.
파일을 * .bat 대신 * .ps1로 저장하면 powershell이 사용됩니다
%COMSPEC%
비 CMD 호환 쉘,하지만 난 PowerShell을로 변경하는 것이 될 것이라고 가정 .cmd
/ .bat
그래서 PowerShell에서 실행하려고 파일 들은 것입니다 실패합니다. 배치 파일을 사용해야하는 많은 소프트웨어를 설치 했으므로 나쁜 생각입니다. 또한 매일 파일 관리를 위해 CMD를 항상 사용하기 때문에 (실제로 확장 슈퍼 세트 인 TCC) 약간의 편견이 있습니다. 시스템 항목에 PowerShell 만 사용합니다. 비교할 때 너무 강력합니다.
%ComSpec%
Win7 시스템에서 PowerShell을 가리 키도록 변경 했습니다. .cmd
내가 테스트 한 첫 번째 커플 파일은 정상적으로 작동합니다. 여기에는 cmd
특정 구조 ( for
, 변수 조작 if
)가 포함되므로 PS는 언제 호출해야하는지 알 수있을만큼 똑똑합니다 cmd.exe
.
%ComSpec%
powershell로 변경 하면 수은 버전 제어 명령이 중단됩니다.