Set objShell = CreateObject("WScript.Shell") Set objFSO = CreateObject("Scripting.FileSystemObject") ' Directory di lavoro workDir = objShell.CurrentDirectory Set folder = objFSO.GetFolder(workDir) ' Verifica che ffmpeg.exe esista If Not objFSO.FileExists(workDir & "\ffmpeg.exe") Then WScript.Echo "Errore: ffmpeg.exe non trovato nella directory corrente!" WScript.Quit End If ' File di log Set logFile = objFSO.CreateTextFile(workDir & "\process_log.txt", True) ' Cambia alla directory di lavoro objShell.CurrentDirectory = workDir ' Scorri i file nella directory For Each file In folder.Files ' Controlla se il file รจ un MP4 If LCase(objFSO.GetExtensionName(file.Name)) = "mp4" Then baseName = objFSO.GetBaseName(file.Name) vttFile = baseName & ".vtt" outputFile = baseName & "_subtitled.mp4" ' Controlla se esiste il file VTT corrispondente If objFSO.FileExists(workDir & "\" & vttFile) Then msg = "Processando: " & file.Name & " con sottotitoli " & vttFile 'WScript.Echo msg logFile.WriteLine msg ' Comando FFmpeg con solo nomi di file cmd = "ffmpeg -i """ & file.Name & """ -vf subtitles=""" & vttFile & """ """ & outputFile & """" logFile.WriteLine "Comando FFmpeg: " & cmd ' Prova a eseguire il comando result = objShell.Run(cmd, 2, True) If result = 0 Then msg = "Completato: " & outputFile logFile.WriteLine msg 'WScript.Echo msg ' Cancella i file sorgenti On Error Resume Next objFSO.DeleteFile file.Path If Err.Number = 0 Then logFile.WriteLine "File MP4 cancellato: " & file.Name Else logFile.WriteLine "Errore nella cancellazione del file MP4: " & file.Name End If On Error GoTo 0 If objFSO.FileExists(workDir & "\" & vttFile) Then On Error Resume Next objFSO.DeleteFile workDir & "\" & vttFile If Err.Number = 0 Then logFile.WriteLine "File VTT cancellato: " & vttFile Else logFile.WriteLine "Errore nella cancellazione del file VTT: " & vttFile End If On Error GoTo 0 End If Else msg = "Errore nella conversione di: " & file.Name logFile.WriteLine msg WScript.Echo msg End If Else msg = "Sottotitoli mancanti per " & file.Name logFile.WriteLine msg WScript.Echo msg End If End If Next ' Chiudi il file di log logFile.Close WScript.Echo "Elaborazione completata!"