批处理文件:文件路径操作

时间:2012-03-30 12:42:40

标签: string batch-file

我正在尝试创建一个小脚本,使用“发送到”菜单在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

我希望引号内的扩展名不在外面!

有人能告诉我如何连接文件名和扩展名吗? 谢谢!

1 个答案:

答案 0 :(得分:3)

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

删除以前的扩展程序 使用

set outputfile="%~n1.MP4"

如果您不使用路径名或

set outputfile="%~dpn1.MP4"

(名称将转换为完整路径)