0
所以,我有一个批处理文件运行一个名为Kid3
的程序。事情是,由于Kid3
处理来自批处理和文件名的命令的方式,似乎字符需要以某种方式转义。下面是一个例子,该程序试图对我正在处理的游戏中的某些文件进行操作:在for循环中转义文件名?
未知命令'select 03_A_Hero's_Return.ogg',-h for help。
未知命令'select 03_Battle's_Advent.ogg',-h for help。
MP4Modify失败
错误而写文件:
E:/RPGMaker/Games/AnimaMV/dev/AnimaMV/audio/bgm/03_Battle_Agains_Demon.4a
我不知道为什么写的错误文件发生,但我猜这是因为驱动器错误,我需要扫描和修复。然而,这里主要关注的是顶部的“未知命令”栏。以下是我的代码示例:
@echo off
setlocal enableextensions enabledelayedexpansion
for %%x in (bgm bgs me se) do (
cd %%x
for /r %%D in (*.ogg) DO (
title Fixing sound %%x\"%%~nD.m4a"
if exist "%%~nD.mp4" (
if not exist "%%~nD.m4a" (
ren "%%~nD.mp4" "%%~nD.m4a"
) else (
del "%%~nD.mp4"
))
%k3path% -c "select %%~nxD" -c copy -c "select %%~nD.m4a" -c paste
pause >nul
)
cd ..
)
请注意,pause >nul
命令仅用于捕获错误消息。我知道我可以将输出重定向到一个文件,我试过了,但由于某种原因它不起作用。
我不知道所谓的以'%k3path%'控制台应用程序,但我想在命令行应该是' “%k3path%” -c选择“%%〜NXD “-c copy -c选择”%%〜nD.m4a“-c paste',即只在文件名周围加双引号,不包括命令'select'。 – Mofi
@Mofi%k3path%是kid3应用程序 –
@Mofi似乎工作,谢谢! –