어떤 파일을 마우스 오른쪽 버튼으로 클릭했는지 어떻게 알 수 있나요?

어떤 파일을 마우스 오른쪽 버튼으로 클릭했는지 어떻게 알 수 있나요?

스크립트를 작성하여 마우스 오른쪽 버튼 클릭 컨텍스트 메뉴에 추가하려고 합니다. 메뉴에 항목을 추가하기 위해 다음을 사용했습니다. Windows: 마우스 오른쪽 버튼 클릭 메뉴에 배치 스크립트 작업을 추가하는 방법, 대신에

HKEY_CLASSES_ROOT\Directory\shell\MyScript1

나는 사용했다

HKEY_CLASSES_ROOT\*\shell\MyScript1

확장자에 관계없이 모든 파일에 표시됩니다.

이제 실제 bat 파일에서 어떤 파일을 마우스 오른쪽 버튼으로 클릭했는지 알 수 있는 방법이 필요하므로 이를 입력으로 사용할 수 있습니다. 나중에 사용할 수 있도록 파일의 전체 경로를 변수에 넣을 수 있는 방법이 있습니까?

답변1

배치 스크립트에 전달된 인수가 파일인 경우 환경 변수를 사용하여 경로, 파일 이름, 파일 확장자 등과 같은 항목을 가져올 수 있습니다. 예:

@echo off
::
::If no parameter is passed, exit.
::
if [%~1]==[] echo Missing parameter! Script will exit... && exit /b

::
::If file does not exist, exit.
::
if not exist "%~1" echo File does not exist. Are you sure "%~1" is a file? && exit /b

echo.
echo File info
echo ---------
echo Path: %~dp1
echo Name: %~n1
echo Extension: %~x1
echo.
pause
exit /b

이는 파일을 스크립트로 드래그하거나 명령줄에서 매개변수로 전달하는 것과 관계없이 작동합니다. 당신은 할 수 있습니다인수 및 확장 구문에 대해 자세히 알아보세요.SS64.com에서.

관련 정보