2016-04-10 7 views
0

trimmen und verblassen Ich versuche, eine Datei zu erstellen, so dass, wenn ich eine Auswahl von WAV-Dateien auf das Batch-Skript ziehen und ablegen, a. kopiert die Wavs in ein Unterverzeichnis (/ webclips), ersetzt die Leerzeichen durch Unterstriche und versucht dann, alle neuen wav-Dateien von Anfang bis Ende auf 45 Sekunden zu kürzen. Irgendwann werde ich sie verblassen ... Im Moment kopiert das Skript gut, aber dann ein paar Fehler, wenn es den Befehl trimmen: sox WARN wav: Vorzeitige EOF auf. WAV-Eingabedatei SOX WARN trim: Letzte 2 Position (en) nicht erreicht (Ton kürzer als erwartet).Versuchen, mehrere WAV-Dateien im Remote-Ordner mit SOX

Die neuen WAV-Dateien sind (falsch) 1 KB groß. Jede Hilfe wäre willkommen.

Hier ist mein Skript

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

Was nach dem Hinzufügen das Ergebnis sein wird, '(' 'vor – enjoying

+0

sox' ist es das gleiche. Ich habe den verirrten entfernt„)“Typo ... – njames

Antwort

0

In letzten Zeile überschrieben sox die gesuchte .wav-Datei. Für sox kann es so nicht tun.

So kann der Vorgang des Kopierens der ursprünglichen WAV-Datei in den Unterordner entfernt werden.

!variable! ist verzögertes Format und muss vorher setlocal enabledelayedexpansion deklariert werden.

die Batch-Datei auch als Folgendes vereinfacht werden kann,

@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 
Verwandte Themen