Rimuovi i file se il comando non ha avuto successo


0

I video mux mp4 e video webm con i file srt (sottotitoli). Tutti i file hanno lo stesso nome di file ma diverse estensioni. Come questo:

Video1.mp4
Video1.srt

o

Video2.webm
Video2.srt

A volte il muxing (unire video con i sottotitoli) non ha successo perché il file srt è vuoto. Lo strumento da riga di comando che utilizzo per unire i video con i sottotitoli si chiama MKVMerge e ha 3 codici di uscita:

0 - Questo codice di uscita significa che il muxing è stato completato con successo.

1 - In questo caso mkvmerge (1) ha emesso almeno un avvertimento, ma il muxing è continuato. Un avvertimento è preceduto dal testo "Avvertenza:". A seconda dei problemi, il file risultante potrebbe essere ok o meno. L'utente è invitato a controllare sia l'avviso che il file risultante.

2 - Questo codice di uscita viene utilizzato dopo che si è verificato un errore. mkvmerge (1) si interrompe subito dopo aver emesso il messaggio di errore. I messaggi di errore variano da argomenti di riga di comando errati a errori di lettura / scrittura su file danneggiati.

Voglio un comando per rimuovere il file SRT se il codice di errore è 1.

Ecco cosa sto usando:

FOR /R "D:\Folder" %%A IN (*.mp4 *.webm) do (
"D:\mkvmerge.exe" -o "%%~nxA" "%%~A" --language 0:eng "%%~nA.srt"
)

Voglio che quella riga di comando rimuova il file .srt (che usa lo stesso nome di file di mp4 o webm) se il codice di errore è 1 (uno).



So di ERRORLEVEL, ma posso eseguire solo compiti semplici. Non so come aggiungere quando ci sono molti argomenti.
G. L.

Risposte:


1

Voglio quella riga di comando per rimuovere il file .srt se il codice di errore è 1.

Guarda il livello di errore impostato da mkvmerge.

Prova il seguente file batch:

FOR /R "D:\Folder" %%A IN (*.mp4 *.webm) do (
  "D:\mkvmerge.exe" -o "%%~nxA" "%%~A" --language 0:eng "%%~nA.srt"
  if %errorlevel% equ 1 (
    del /q "%%~nA.srt"
  )
)

Ulteriori letture


Molte grazie. È proprio quello che volevo.
G. L.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.