얼마 전에 제가 작성한 스크립트를 컨텍스트 메뉴에 추가했습니다. 한동안 필요하지 않아서 그냥 놔두었어요. 오늘 다시 사용해 보았는데 효과가 없었습니다.
아래에 오류 이미지를 포함시켰습니다. 제목과 첫 번째 줄은 내가 선택한 디렉토리입니다.
명령 프롬프트에서 스크립트를 테스트할 때 명령 경로가 유효하고 작동한다는 사실을 알고 있습니다.
이 오류를 해결하려면 어떻게 해야 합니까? 변경된 내용이 있는 경우 이는 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 코드가 전달하는 폴더 매개변수를 인식하게 됩니다.