batch-file - 如何控制批处理文件中的输出文件名?

标签 batch-file ffmpeg

我正在运行一个批处理文件以使用 FFMPEG 转换目录中所有扩展名为 *.MTS 的文件。

for %%A in (*.MTS) do ffmpeg -i "%%A" -vcodec copy -acodec pcm_s16le -ar 48000 -ac 2 "newfiles\%%A.mov"
pause

输出文件转到一个名为 newfiles 的目录。转换没有问题。问题是如果输入是文件名.MTS 输出是文件名.MTS.mov

如何更改批处理文件,以便输入 name.MTS 输出为 name.mov?

最佳答案

除了正常for循环变量,您还可以使用其他语法来更改输出。来自 for /? 的输出:

%~I         - expands %I removing any surrounding quotes (")
%~fI        - expands %I to a fully qualified path name
%~dI        - expands %I to a drive letter only
%~pI        - expands %I to a path only
%~nI        - expands %I to a file name only
%~xI        - expands %I to a file extension only
%~sI        - expanded path contains short names only
%~aI        - expands %I to file attributes of file
%~tI        - expands %I to date/time of file
%~zI        - expands %I to size of file

因此,在您的情况下,您将使用 newfiles\%%~nA.mov

关于batch-file - 如何控制批处理文件中的输出文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41315486/

相关文章:

batch-file - 是/否批处理文件

ffmpeg 在创建时流式传输多个 avi 文件

python - 在解复用的数据包中找不到 NAL 开始

android - 在android项目中使用FFMPEG进行视频编辑

ffmpeg 转换的垂直堆叠的 .mp4 视频不在 Windows 上播放

ffmpeg - 如何从mov文件中提取ffmpeg中的音频

windows - 如何使用 Batch 添加 REG_NONE 空值?

batch-file - 您可以将 .sh 文件转换为 .bat 文件吗?

windows - 如何通过批处理文件检查服务是否正在运行并启动它,如果它没有运行?

java - 如何每隔 2 小时自动启动 Tanuki Software Wrapper