2012-03-30 6 views
0

'보내기'메뉴를 사용하여 Windows에서 비디오를 변환하는 작은 스크립트를 만들려고합니다. 들어이 입력에서 새 파일 이름을 만들고 싶습니다. 하지만 문자열을 연결하지 못했습니다. 구문 found here 다음배치 파일 : 파일 경로 조작

, 나는이 코드 조각을 썼다 :

@echo Input: 
@echo %1 
set "outputfile=%1%.MP4" 
@echo %outputfile% 

을하지만 출력 파일에 따옴표에 문제가 : 나는 따옴표 내부의 확장을 기대

Input: 
"D:\this is a test\MVI_7754.AVI" 

D:\this is a test>set "outputfile="D:\this is a test\MVI_7754.AVI".MP4" 
"D:\this is a test\MVI_7754.AVI".MP4 

을 밖에서!

누군가 파일 이름과 확장자를 어떻게 연결시킬 수 있습니까? 감사합니다. 당신이 경로 이름을 사용하거나

set outputfile="%~dpn1.MP4" 

(이름은 전체 경로로 변환됩니다)

답변

3
@echo Input: 
@echo %1 
set outputfile="%~1.MP4" 
@echo %outputfile% 

이전 확장을 사용

set outputfile="%~n1.MP4" 

를 제거 순전히, 그것은 작동한다!

+0

감사를하지 않는 경우 – Plouff

+0

BTW, 입력 파일의 확장자를 변경하는 간단한 방법이 있습니다. 가장 좋은 해결책은 원래 확장자가없는'% 1'의 파일 이름으로 구성된 문자열을'outputfile'에 넣는 것입니다. 감사! – Plouff

+1

내 대답을 수정했습니다. 또한 첫 번째 변형은 훨씬 간단해야합니다. –