2017-03-05 16 views
2

프로그램 ImageMagick에는 그림 형식을 변환하는 데 사용할 수있는 convert 명령이 있습니다. 예를 들어 사진이 있습니다 test.jpgWindows에서 파일 이름을 얻는 방법은 무엇입니까?

convert test.jpg test.png 

은 test.png를 제공합니다.

내 작업을 단순화하려면이 명령을 마우스 오른쪽 버튼 클릭 메뉴에 추가하고 싶습니다. 내가 test.jpg 파일이 명령을 실행하면 내가 HKEY_CLASSES_ROOT -- * -- shell

C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe -density 600 "%1" %1.png 

에서 regedit으로 항목을 추가, 그것은 test.jpg.png을 줄 것이다. 파일 test.png을 받고 싶습니다. 명령 줄을 어떻게 수정해야합니까? 쉘 핸들러가 직접이 기능을 지원하는 경우

+1

마지막 '% 1.png'을 입력 변수에 따라''% ~ dpn1.png "'또는 가능하면''% ~ n1.png' '로 변경하십시오. – Compo

+0

sendto 폴더에 배치 파일을 넣을 수 있습니다. – Squashman

답변

0

는 잘 모르겠지만,이 기능은 필요가 그 cmd으로 주위를 작동합니다 :

cmd /d /c "for /f "delims=" %%i in ('@echo %1') do @start "" "C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe" -density 600 "%1" "%%~dpni.png"" 
  • @echo %1 만든다 쉘이 제공하는 전체 경로를 메아리 그것은 처리 가능한 결과로 CMD에 사용할 수 있습니다. 표현식은 작은 따옴표로 묶여 있기 때문에 명령문이됩니다. (하나의 문자열을 포함하는) 스트링의리스트로 발생
  • for /f 파싱은 %i에 각각 (하나) 문자열을두고 상기 %i 밖으로 %~dpnitakes drive letter, path and name (그러나 확장자)을 허용한다.
  • @start은 CMD가 프로그램을 마칠 때까지 기다리지 않도록하기 위해 사용됩니다. start 이후의 빈 인용 부호는 very required입니다.
0

귀하의 방법은 상관 없습니다. 당신은 작은에서 구문을 변경해야하지만 :

C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe -density 600 "%1" %1.png 

C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe -density 600 "%1" "%~n1.png" 

에 나는이 문제를 해결 바랍니다. 그렇지 않은 경우 그러나, -이 명령을 (내게로 수정 2 하나를) 포함하는 배치 파일을 만들고 PC 어딘가에 (말 "C : \ myscript.bat를")에 저장할 수 있습니다

을 그리고, 시도 다음과 같이 레지스트리에 키를 만듭니다.

C:\MyScript.bat "%1" 

그리고 유연한 방법입니다. 참고 : 배치의 코드는있을 것입니다 :

"C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe" -density 600 "%1" "%~n1.png" 

당신은 마우스 오른쪽 버튼으로 클릭 컨텍스트 메뉴에 만들고 싶어 변경을, 당신은이 배치 파일을 변경하여 적용 할 수 있습니다.

희망이 있습니다.

+0

답장을 보내 주셔서 감사합니다. 첫 번째 접근 방식은 작동하지 않고'% ~ n1.png'을 제공합니다.나는 두 번째 방법을 시도했지만 효과가 없습니다. 어쩌면 나는 어떤 조작을 잘못했을 수도 있습니다. 시도해 볼 수 있습니까? – Ice0cean

+0

'% ~ n1.png'을 사용하여 제안 된 [삭제 된 답변] (http://stackoverflow.com/a/42608388/11683)이 이미 있습니다. 작동하지 않습니다. 배치 파일이 작동해야합니다. – GSerg

관련 문제