파일 유형 작업에 대한 Windows 파일 이름 매개변수 처리

파일 유형 작업에 대한 Windows 파일 이름 매개변수 처리

HKEY_CLASSES_ROOT 아래 모든 파일 키의 셸 하위 키에 추가한 도구가 있어 모든 파일의 오른쪽 클릭 메뉴에 표시됩니다(디렉터리 메뉴에도 있음).

[HKEY_CLASSES_ROOT\*\shell\PathToClipboard]
@="Path -> Clipboard"

[HKEY_CLASSES_ROOT\*\shell\PathToClipboard\command]
@="C:\\Program Files (x86)\\PathToClipboard.exe %1"

이 도구는 지정된 매개변수(파일 경로)를 클립보드에 복사하는 것 이상을 수행하지 않습니다.

이것은 적어도 Win ME 이후 오랫동안 작동했습니다(그 이후로 다시 컴파일했을 수 있음). win-7에서도 작동하지만 몇 가지 단점이 있습니다. 파일 경로에 공백이나 기타 영숫자가 아닌 문자가 포함되어 있으면 DOS 호환성 이름으로 단축됩니다.

예를 들어:C:\PROGRA~2\PATHTO~1.EXE

이 문제를 해결할 방법이 있나요?

내가 경로를 설정하면 "정확 %1하지만 Windows도 해당 경로를 "프로그램에 전달합니다(저는 꽤 오랫동안 만지지 않았습니다. 물론 도구에서 이 문제를 해결할 수 있지만 조잡한 동작을 Windows 측에서 수정할 수 있는지 궁금합니다). .

답변1

프로그램 이름에 공백이나 기타 영숫자가 아닌 문자가 포함되어 있으면 DOS 호환 이름으로 단축됩니다.

@="C:\\Program Files (x86)\\PathToClipboard.exe %1"

따옴표는 전체 문자열이 아닌 개별 부분 주위에 있어야 합니다.

이 특별한 경우에는 첫 번째 부분(프로그램 이름)만 인용해야 합니다.그리고전체 문자열:

@="\"C:\\Program Files (x86)\\PathToClipboard.exe\" %1"

메모:

  • \내부 따옴표(프로그램 이름 주위의 따옴표)를 이스케이프하는 데 사용됩니다.
  • (파일 경로) 도 인용하면 %1파일 경로가 프로그램에 전달될 때 따옴표가 추가되므로 이 부분을 인용하지 마십시오.

관련 정보