2016-07-22 9 views
0

Ich habe einige 90 000 .m4a Audioaufnahmen, alle in verschiedenen Unterordnern gruppiert, je nach ihrem Zweck. Ich möchte jeden nach .wav konvertieren und dann das Original .m4a nach erfolgreicher Konvertierung löschen. Aus Gründen, die ich nicht kontrollieren kann, mache ich das auf einer Windows-Maschine mit begrenzter Kapazität. Ich muss löschen, während ich weitergehe, weil ich nicht den Platz habe, um beide Versionen zu behalten.Datei konvertieren und löschen unter Windows

Ich habe die Speicherorte aller Dateien gespeichert und kann leicht eine Batchdatei erzeugen, um die Konvertierung und Löschung mit ffmpeg und DEL iterativ durchzuführen (was eine Lösung ist, die ich an mehreren Stellen vorgeschlagen habe). Aber gibt es eine Möglichkeit, vor dem Löschen zu überprüfen, ob die Konvertierung erfolgreich war? Ich habe wirklich keine Lust, die Daten versehentlich zu verlieren.

+0

Ist Ihre Frage nicht beantworten, Aber: Haben Sie eine Sicherung in Betracht gezogen (auf einem externen Gerät, wenn auf Ihrem Computer nicht genügend Platz ist)? – Stephan

+0

Ich habe die Daten gesichert, aber würde es vorziehen, das Backup zu vermeiden. Ich habe auf eine lokale Lösung gehofft. –

+0

Überprüfen Sie 'ffmpeg' Dokumentation, wenn es eine Art von" Verify "-Schalter gibt, wenn Sie sich auf'% errorlevel% 'verlassen können und wenn es Erfolgs- oder Fehlermeldungen gibt, könnten Sie analysieren. – Stephan

Antwort

0

Es ist keine perfekte Kontrolle, ob alles funktioniert zu machen, aber man kann so etwas wie dies, dass die Zieldatei vorhanden machen verwenden und enthält mindestens ein paar Bytes:

@echo off 
setlocal 

rem configuration values, toconvert should probably come from %1 
set toconvert=source file.mp3 
set minsize=100 
for %%a in ("%toconvert%") do (
    set target=%%~da%%~pa%%~na.wav 
) 

rem replace with a real call to ffmpeg 
echo call ffmpeg -i "%toconvert%" "%target%" 

set size=0 
if exist "%target%" (
    for %%a in ("%target%") do (
     set size=%%~za 
    ) 
) 

if %size% LSS %minsize% (
    echo ERROR: The file is too small! 
) ELSE (
    rem replace with a real call to del 
    echo del "%toconvert%" 
) 
Verwandte Themen