콜론 인수를 사용하여 "실행..."에서 Windows XP의 프로그램을 호출하는 방법은 무엇입니까?

콜론 인수를 사용하여 "실행..."에서 Windows XP의 프로그램을 호출하는 방법은 무엇입니까?

인수를 보낼 때 특정 프로그램이 특별한 방식으로 작동하는 것을 발견했습니다.

인수를 보내는 유일한 방법은 "시작 -> 실행..."을 클릭하고 다음을 입력하는 것입니다.

[programname]:[argument]

예를 들어 (어쨌든 작동하지 않습니다)

notepad:textfile.txt 

명령줄 창에서 동일한 작업을 수행하려고 하면 작동하지 않습니다. "프로그램 이름 인수"도 마찬가지입니다. 웹사이트의 인수(또 다른 이야기인 Wscript 셸 사용)를 사용하여 프로그램을 열 수 있어야 하지만 이는 아마도 작동하지 않을 것입니다.

이 이상한 콜론 구문이 어떻게 작동하는지 아는 사람이 있나요?

업데이트: 요청에 따라 실제 예는 다음과 같습니다.

AGS:pref.serv01.com(ARG1:ARG2)

이것이 정확한 구문이며, 이로 인해 프로그램이 ARG1 및 ARG2에 대한 특정 정보를 열게 됩니다. AGS는 일반적인 Windows 프로그램인 프로그램의 이름일 뿐입니다.

답변1

그만큼달리다...대화 상자는 로컬 파일에만 국한되지 않고 모든 URI 체계도 허용합니다. 1 등기예를 들어 시스템에서 http:또는 ftp:주소를 열 수 있습니다. 일부 프로그램에서는 이 목적을 위해 단순히 URI 체계를 등록했을 수도 있습니다 AGS:. (전체 URI는 수정되지 않은 채 프로그램에 전달되므로 자체 구문 분석 규칙을 적용할 수 있습니다.)

레지스트리 편집기에서 키를 살펴 HKEY_CLASSES_ROOT\AGS보고 프로그램에 대한 내용이 있는지, " URL Protocol"라는 값이 있는지 여부, shell\open\command하위 키가 가리키는 내용이 무엇인지 확인하세요.


1 Windows에서는 이를 "URL 프로토콜"이라고 부르는데 이는 완전히 정확하지 않습니다.

답변2

콜론 문자는 다음을 참조하는 데 사용됩니다.대체 데이터 스트림NTFS에서. 아마도 프로그램에 실행 파일이 포함된 숨겨진 데이터 스트림이 있을 수 있습니다.

쉘 파서가 혼란스러워지기 때문에 명령줄 인수에서는 수행할 수 없다고 생각합니다. 그러나 "실행" 대화 상자는 훨씬 더 허용적입니다.

그렇다면 간단히 다음과 같이 추출해 볼 수 있습니다.

c:> type program:argument > output

관련 정보