2016-04-10 3 views
0

Я пытаюсь создать файл, чтобы при перетаскивании выделенных wav-файлов на пакетный скрипт это a. копирует wavs в подкаталог (/ webclips), заменяет пробелы символами подчеркивания, затем пытается обрезать все новые wav-файлы с начала до 45 секунд. В конце концов я их выцветаю ... Прямо сейчас сценарий копирует штраф, но затем дает пару ошибок, когда он запускает команду обрезки: sox WARN wav: преждевременный EOF на входном файле .wav sox WARN trim: последние 2 положение (позиции) не достигнуто (звук короче, чем ожидалось).Пытается обрезать и исчезать несколько wav-файлов в удаленной папке с помощью SOX

Новые файлы wavs (неправильно) размером 1Kb. Любая помощь будет оценена по достоинству.

Вот мой сценарий

set FOLDERPATH=%~dp0 
set FILEPATH=%~dp1 
mkdir "%FILEPATH%webclips" 
FOR %%A IN (%*) DO (copy %%A "%FILEPATH%webclips") 
cd "%FILEPATH%webclips" 
for %%j in (*.*) do (
set filename=%%~nj 
set filename=!filename:.=_! 
set filename=!filename: =_! 
if not "!filename!"=="%%~nj" ren "%%j" "!filename!%%~xj" 
) 
c: 
cd/ 
CD "Program Files (x86)\sox-14-4-2" 
for %%A in ("%FILEPATH%webclips\*.wav") do sox "%%A" "%FILEPATH%webclips\%%~nxA" trim 0 45 
pause 
+0

Что будет результат после добавления '(' 'перед тем sox' – enjoying

+0

это то же самое. Я убрал непослушную«)»опечатка ... – njames

ответ

0

В последней строке, sox переписал найденную .wav файл. Для sox он не может этого сделать.

Так что операция копирования исходного .wav-файла в подпапку может быть удалена.

!variable! - формат с задержкой и должен быть объявлен setlocal enabledelayedexpansion.

пакетный файл также может быть упрощена следующим,

@echo off 
setlocal enabledelayedexpansion 
for %%a in (%*) do (
    if not exist "%%~dpawebclips\" md "%%~dpawebclips\" 
    set file_name=%%~na 
    set file_name=!file_name: =_! 
    set file_name=!file_name:.=_! 
    ren %%a !file_name!%%~xa 
    "%ProgramFiles(x86)%\sox-14-4-2\sox.exe" "%%~dpa!file_name!%%~xa" "%%~dpawebclips\!file_name!%%~xa" trim 0 45 
) 
pause 
exit /b