2016-04-10 2 views
0

J'essaie de créer un fichier de sorte que lorsque je glisse et dépose une sélection de fichiers wav sur le script batch, il a. copie les wavs dans un sous-répertoire (/ webclips), remplace les espaces par des traits de soulignement, puis essaie de découper tous les nouveaux fichiers wav du début à 45 secondes. Finalement, je les ferai disparaître ... Maintenant, le script copie bien mais donne quelques erreurs quand il exécute la commande trim: sox WARN wav: EAT prématuré sur fichier d'entrée .wav sox WARN trim: 2 derniers position (s) non atteinte (audio plus court que prévu).Essayer de rogner et de fondre plusieurs fichiers wav dans un dossier distant avec SOX

Les nouveaux fichiers wav sont (incorrectement) de 1 Ko. Toute aide serait appréciée.

Voici mon scénario

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

Quel sera le résultat après avoir ajouté '(' avant 'sox' – enjoying

+0

c'est la même. Je l'ai enlevé la errante «) » faute de frappe ... – njames

Répondre

0

Dans la dernière ligne, sox réenregistrés le fichier .wav recherché. Pour sox, il ne peut pas faire comme ça.

Ainsi, l'opération de copie du fichier .wav d'origine vers le sous-dossier peut être supprimée.

!variable! est un format retardé et doit être déclaré setlocal enabledelayedexpansion avant celui-ci.

le fichier batch peut également être simplifiée comme suit,

@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