상황에 맞는 메뉴 응용 프로그램을 찾을 수 없습니다

상황에 맞는 메뉴 응용 프로그램을 찾을 수 없습니다

얼마 전에 제가 작성한 스크립트를 컨텍스트 메뉴에 추가했습니다. 한동안 필요하지 않아서 그냥 놔두었어요. 오늘 다시 사용해 보았는데 효과가 없었습니다.

아래에 오류 이미지를 포함시켰습니다. 제목과 첫 번째 줄은 내가 선택한 디렉토리입니다.

명령 프롬프트에서 스크립트를 테스트할 때 명령 경로가 유효하고 작동한다는 사실을 알고 있습니다.

문제의 오류

이 오류를 해결하려면 어떻게 해야 합니까? 변경된 내용이 있는 경우 이는 Windows 10에 있으며 명령은 다음과 같습니다.

python M:\Sped\python\Extract\extract.py "%1"

답변1

해당 오류가 표시되면 폴더 경로가 올바르지 않거나 쉘 컨텍스트 메뉴에 Python 스크립트 호출에 문제가 있을 가능성이 높습니다.

이것은 오류를 수정하는 데 성공적으로 사용한 접근 방식입니다.

레지스트리 파일 만들기myptonprog.reg다음과 유사한 파일:

[HKEY_CLASSES_ROOT\Folder\shell\mypythonprog]
@="mypythonprog"
"Icon"="C:\\Users\\winuser\\AppData\\Local\\Programs\\Python\\Python311\\python.exe ,0"

[HKEY_CLASSES_ROOT\Folder\shell\mypthonprog\Command]
@="c:\\\\mypath\\\\subfolder\\\\myprog.cmd \"%1\""

상황에 맞는 메뉴 항목의 이름은 다음에서 변경할 수 있습니다.마이프톤프로그필요한 경우 아이콘 경로를 변경하는 것과 함께 사용하려는 항목으로 이동합니다.

명령 파일의 경로는 파일 시스템에 있는 위치로 변경할 수 있습니다(영구적으로 바람직함).

cmd 파일 만들기myprog.cmd이와 유사합니다:

"C:\Users\winuser\AppData\Local\Programs\Python\Python311\python.exe" "c:\mypath\subfolder\mypyprog.py" %1

Python 위치의 경로는 Python이 설치된 경로로 변경되어야 합니다.

파이썬 파일 수정mypyprog.py이와 유사합니다:

def main():
    # Check if a folder path is passed as an argument
    if len(sys.argv) < 2:
        print("Folder path not provided.")
        sys.exit(1)

    folder_path = sys.argv[1]

이렇게 하면 Python 코드가 전달하는 폴더 매개변수를 인식하게 됩니다.

관련 정보