Modèle:Script

De Kono Phil Ceci est la tagline
Aller à la navigation Aller à la recherche
Documentation

Utiliser le modèle comme suit :

{{script|nomdufichierducode}}

Exemple :

{{script|powershell-script video conversion-020.ps1}}

Le résultat donne :

Contenu du fichier powershell-script video conversion-020.ps1 Accès au code
cls
set-location C:\Support\ffmpeg

# Attention. Pour les noms de fichiers qui contiennent des espaces, le script de fonctionne pas.
# en solution rapide, prévoir de renommer le fichier avant traitement.
$listefichier = gci *.mp4
$compteur = 0

foreach ($fichier in $listefichier) {
  $tl=$listefichier.length
  $compteur = $compteur + 1
  $tailleliste = $listefichier.length
  
  # récupération des dates des fichiers
  $datecreation = $fichier.CreationTime
  $datemodif = $fichier.LastWriteTime
  $dateacces = $fichier.LastAccessTime
  $taille = $fichier.Length/1024

  # renommage des fichiers
  $fichierNom=$fichier.BaseName
  $fichierExt=$fichier.Extension
  $fichierAncien = $fichier.BaseName + "-vieux" + $fichier.Extension
  Rename-item -Path $fichier -NewName $fichierAncien
  $fichierNouveau = $fichier

  # arguments pour le traitement vidéo
  $arg="-i " + $fichierAncien + " -r 25 -b:v 2048k -b:a 96k -vf scale=1280:720 " + $fichierNouveau
  # $arg="-i " + $fichierAncien + " -r 25 -b:v 2048k -b:a 96k -vf scale=720:1280 " + $fichierNouveau

   # l'option -Wait permet d'attendre la fin d'un traitement avant de lancer le suivant
 try {
    $debuttraitement = Get-Date # Début de traitement
    write-host $compteur "/" $tailleliste " : " $fichier.name $taille.tostring("#") " | En cours"
    start-process -Wait ffmpeg.exe -argumentlist $arg 
    $fintraitement = Get-Date # Fin de traitement
    $duree = $fintraitement - $debuttraitement
    write-host "     Terminé. Durée de traitement :" $duree.TotalSeconds "s"
    Start-Sleep -s 3

    # modification des dates des nouveaux fichiers
    $(Get-Item $fichier).creationtime=$($datemodif)
    $(Get-Item $fichier).LastWriteTime=$($datemodif)
    $(Get-Item $fichier).lastaccesstime=$($datemodif)
    }
  catch {
    write-host write-host $compteur "/" $tailleliste " : " $fichier.name $taille.tostring("#") " | Erreur fichier " $fichierAncien
    }
 }