Как установить папку вывода для конвертера .wem?

Я пытаюсь сделать это, когда я запускаю скрипт и есть файл.wem в моей "входной" папке, он напрямую преобразует его в мою "выходную" папку. Но я не могу понять этого.

@Echo off
Echo -------------------------------------------------------------------------------------
For %%f in ("%~dp0input\*.wem") do "./ww2ogg024/ww2ogg.exe" --pcb "./ww2ogg024/packed_codebooks_aoTuV_603.bin" "%%f"
For %%f in ("%~dp0outnput\*.ogg") do revorb.exe "%%f" 
Echo -------------------------------------------------------------------------------------
pause

Кто-нибудь знает, что я делаю не так? Я как бы начинаю с этого.

1 ответ

Я ничего не знаю о ваших исполняемых файлах, однако быстрый поиск показал их параметры командной строки:

ww2ogg input.wav [-o output.ogg] [--inline-codebooks] [--full-setup]
                 [--pcb packed_codebooks.bin]

revorb <input.ogg> [output.ogg]

Исходя из этой информации, я бы посоветовал вам попробовать такую ​​методологию, (Remарки включены в качестве объяснения):

@Echo Off
Rem Define the location for ww2ogg.exe.
Set "WemToOggPath=C:\SomeLocation\ww2ogg024"
Rem Define the location for revorb.exe.
Set "MyRevorbPath=C:\SomeLocation"

Rem Exit if the required executables and input files are not available.
If Not Exist "%WemToOggPath%\ww2ogg.exe" Exit /B 1
If Not Exist "%MyRevorbPath%\revorb.exe" Exit /B 1
If Not Exist "%~dp0input\*.wem" Exit /B 1
Rem Create output directory if it does not already exist along side this script.
If Not Exist "%~dp0output\" MD "%~dp0output"

Echo -------------------------------------------------------------------------------------
Rem Loop through each .wem file located inside the a directory named input along side this script.
For %%I In ("%~dp0input\*.wem") Do (
    Rem Run ww2ogg.exe against each .wem file outputting them to the same directory but with an .ogg extension.
    "%WemToOggPath%\ww2ogg.exe" "%%I" -o "%%~dpnI.ogg" --pcb "%WemToOggPath%\packed_codebooks_aoTuV_603.bin"
    Rem If the last ww2ogg.exe process was successful then.
    If Not ErrorLevel 1 If Exist "%%~dpnI.ogg" (
        Rem If there is still a .wem file delete it.
        If Exist "%%I" Del "%%I"
        Rem Run revorb.exe against the .ogg file outputting it to the output directory along side this script.
        "%MyRevorbPath%\revorb.exe" "%%~dpnI.ogg" "%~dp0output\%%~nI.ogg"
        Rem If the last revorb.exe process was successful and there is still a matching .ogg file inside the input directory delete it.
        If Not ErrorLevel 1 If Exist "%%~dpnI.ogg" If Exist "%~dp0output\%%~nI.ogg" Del "%%~dpnI.ogg"
    )
)
Echo -------------------------------------------------------------------------------------
Pause

Поскольку я не знаю этих утилит, я ничего не пытался предполагать, поэтому, если ваши процессы преобразования не оставляют неконвертированные файлы, сценарий, вероятно, можно уменьшить.

Пожалуйста, прочтите Remarks, чтобы точно понять, что он делает, прежде чем запускать его, и, что наиболее важно, убедитесь, что вы изменили C:\SomeLocation на линиях 3 а также 5к тем, которые содержат два ваших исполняемых файла. (Пожалуйста, не оставляйте завершающие разделители путей в этих каталогах). Затем я бы посоветовал вам попробовать сценарий из тестаinput каталог и против некоторых скопированных .wem файлы, прежде чем пытаться это сделать в производственной среде.

Другие вопросы по тегам