이 Windows 레지스트리 명령이 작동하지 않는 이유는 무엇입니까?


0

그래서 Windows 7에서 파일의 경로를 복사하는 마우스 오른쪽 버튼 클릭 컨텍스트 메뉴 옵션을 만들려고합니다.

[HKEY_CLASSES_ROOT\*\shell\Copy path]

[HKEY_CLASSES_ROOT\*\shell\Copy path\command]
@="C:\Windows\System32\Tweaks\ContextCopy.exe path %1"

상황에 맞는 메뉴에 옵션이 올바르게 나타납니다. ContextCopy.exe는 파일의 절대 경로를 문자열로 가져 와서 첫 번째 인수가 무엇인지에 따라 클립 보드에 내부적으로 복사합니다. 명령 프롬프트에서 마지막 인수에 대한 실제 파일 이름으로 테스트 한 결과 제대로 작동합니다. 그러나 상황에 맞는 메뉴에서 할 때마다 "이 파일에는이 작업을 수행하기위한 프로그램이 없습니다."라는 오류 팝업이 나타납니다. 이 팝업의 제목은 마우스 오른쪽 버튼으로 클릭하고 메뉴를 연 파일의 경로입니다. 경로도 클립 보드에 복사되지 않습니다.

% 1은 파일의 절대 경로를 문자열로 제공해야한다고 생각합니다.

답변:


2

공백이있는 경로가 단일 문자열로 처리되도록 % 1 주위에 따옴표를 포함시킬 수 있습니다.

따라서 Regedit를 통해 명령을 다음과 같이 변경하십시오.

C:\Windows\System32\Tweaks\ContextCopy.exe path "%1"

다음과 같이 내보내집니다.

[HKEY_CLASSES_ROOT\*\shell\Copy path]

[HKEY_CLASSES_ROOT\*\shell\Copy path\command]
@="C:\Windows\System32\Tweaks\ContextCopy.exe path \"%1\""

백 슬래시는 중첩 된 따옴표를 이스케이프합니다.

또한 Windows 7을 사용하기 때문에 Windows의 기본 제공 clip명령을 사용할 수 있으므로 작은 ContextCopy.exe 유틸리티가 실제로 필요하지 않습니다 .

보낸 사람 clip /?:

클립

설명 : 명령 줄 도구의 출력을 Windows 클립 보드로 리디렉션합니다. 그런 다음이 텍스트 출력을 다른 프로그램에 붙여 넣을 수 있습니다.

파라미터 목록 :

/?                  Displays this help message.

예 :

DIR | CLIP          Places a copy of the current directory
                    listing into the Windows clipboard.

CLIP < README.TXT   Places a copy of the text from readme.txt
                    on to the Windows clipboard.

따라서 타사 유틸리티없이 Command 를 비슷한 것으로 바꾸고 cmd.exe /c echo "%1"|clip동일한 효과를 얻을 수 있습니다.


0

알았어 .exe 경로에서 백 슬래시와 % 1 주위의 따옴표를 이스케이프 처리해야했습니다.

[HKEY_CLASSES_ROOT\*\shell\Copy path]

[HKEY_CLASSES_ROOT\*\shell\Copy path\command]
@="C:\\Windows\\System32\\Tweaks\\ContextCopy.exe path \"%1\""

1
귀하의 질문에 대한 루프를 닫아 주셔서 감사합니다. 비슷한 문제를 가진 다른 사람들에게 더 명확하게 답하기 위해 실제 결과 명령을 추가 할 수 있습니까?
fixer1234

Yep 님이 추가했습니다
Brandon Johnson

사이트의 Q & A 형식에서 질문은 단지 질문으로 제한되며 솔루션은 정답입니다. 나는 당신을 위해 그것을 옮겼습니다. 답변이나 다른 답변 중 하나를 수락하면 문제가 해결되었음을 나타냅니다. 그렇게하려면 솔루션을 고려한 답변 옆에있는 확인 표시를 클릭하십시오.
fixer1234

-1

% 1 주위에 따옴표를 추가해야합니다. "%1"그렇지 않으면 파일 경로와 이름이 공백이있는 곳마다 별도의 매개 변수로 도착합니다.


\ "% 1 \" "% 1"및 ""% 1 ""을 (를) 시도했지만 여전히 동일한 오류가 발생합니다.
Brandon Johnson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.