Как установить выходную папку для моего конвертера .wem? - PullRequest
0 голосов
/ 25 апреля 2020

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

@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 Ответ

0 голосов
/ 25 апреля 2020

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

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

revorb <input.ogg> [output.ogg]

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

@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

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

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

...