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似乎工作,謝謝! –