gpt4 book ai didi

Windows Batch - 更改路径的开头但保留其余部分

转载 作者:行者123 更新时间:2023-12-04 23:29:24 24 4
gpt4 key购买 nike

我正在运行 FFMPEG 进行视频编码。
我有一个批处理文件,它将对您拖放的文件进行编码,保留文件的原始名称并将编码的文件复制到特定目录。
我希望该脚本“知道”原始文件的路径并将编码文件复制到相对于它的路径,这意味着:
批处理文件中删除的原始文件位于 C:\some\folder\show\season\episode\file.mov
编码文件应编码为 D:\different\directory\show\season\episode\file.mp4
直到\show 的路径部分是固定的。

这是我到目前为止所拥有的:

@echo on

set count=0
for %%a in (%*) do (<br>
if exist %%a (

md \\specific\path\"%%~na"

%MYFILES%\ffmpeg.exe -i "%%~a" -vcodec libx264 -preset medium -vprofile baseline -level 3.0 -b 500k -vf scale=640:-1 -acodec aac -strict -2 -ac 2 -ab 64k -ar 48000 "%%~na_500.mp4"
copy "%%~na_500.mp4" "\\specific\path\"%%~na"\%%~na_500.mp4"
copy "%%~na_500.mp4" "\\specific\path\"%%~na"\%%~na_500.mp4"
del "%%~na_500.mp4"

设置/a 计数+=1

) 别的 (
echo 跳过不存在的 %%~a

谢谢,
奥伦

最佳答案

@ECHO OFF
SETLOCAL
SET "MYFILES=MY_files"
SET "fixed_path=u:\destdir"
FOR %%a IN ("%*") DO IF EXIST "%%a" (

FOR /f "tokens=3*delims=\" %%b IN ("%%~dpa") DO (
ECHO(MD "%fixed_path%\%%c"
ECHO(%MYFILES%\ffmpeg.exe -i "%%~a" -vcodec libx264 -preset medium -vprofile baseline -level 3.0 -b 500k -vf scale=640:-1 -acodec aac -strict -2 -ac 2 -ab 64k -ar 48000 "%%~na_500.mp4"
ECHO(copy "%%~na_500.mp4" "%fixed_path%\%%c%%~na_500.mp4"
ECHO(del "%%~na_500.mp4"
)
) ELSE (ECHO(%%~a does NOT EXIST
)


GOTO :EOF

所需的 MD 命令仅仅是 ECHO编辑用于测试目的。 确认命令正确后 , 更改 ECHO(MDMD实际创建目录。追加 2>nul抑制错误消息(例如,当目录已经存在时)

同样, DELCOPY命令只是被回显。

我设置 myfiles到一个常数 - 毫无疑问你的会有所不同,我设置 fixed _path为方便编辑的常量。

不知道 ffmpeg命令是正确的 - 刚刚编辑了你的,我对你使用两个明显相同的 copy 感到困惑连续命令,但也许我的眼睛在玩花样......

关于Windows Batch - 更改路径的开头但保留其余部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24333581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com