PowerShell/Vidéo
Aller à la navigation
Aller à la recherche
Pour les traitements vidéos.
Déplacement de fichier vidéo, version 1
Clear-Host Set-Location "D:\_Brut\" $dateheure = Get-Date -UFormat "%Y%m%d-%H%M%S" $filmListe1280 = Get-ChildItem -Filter "*.mkv" | ? { $_.Name -match '(?:1280.*q23)' -and ($_.length -gt 50) } #$filmListe1920 = Get-ChildItem -Filter "*.mkv" | ? { $_.Name -match '(?:1920.*q23)' -and ($_.length -gt 50) } Write-Host "Date courante : $dateheure" Foreach ($film in $filmListe1280) { Write-Host ("* {0} : {1:N2} Go" -f $film, ($film.Length/1GB)) Move-Item $film -Destination "E:\video-1280\" } Write-Host Write-Host ("Nombre d'éléments : {0}" -f $filmListe1280.Count)
Déplacement de fichier vidéo, version 2
<# Description : déplacement de fichiers vidéos dans des dossiers spécifiques en rapport avec le nom des fichiers Usage : exécuter le script Auteur : fylip22 Version : 1.1 Révisions : - 1.0 (01/11/2023) : création du script - 1.1 (22/03/2024) : modification du script * ajout d'informations durant le traitement ; * test de la présence du fichier avant déplacement. #> $filmChemin = "D:\_Brut\" $filmCheminDestination1280 = "E:\video-1280\" $filmCheminDestination1920 = "E:\video-hd\" # $DateHeureDébut = Get-Date -UFormat "%Y%m%d-%H%M%S" $DateHeureDébut = Get-Date $filtre = (".mkv", ".mp4") Set-Location $filmChemin # création des listes des éléments à déplacer $filmListe1280 = Get-ChildItem | ? { ($_.Name -match '(?:1280.*q23)') ` -and (-not ($_.Name -match '(.*test.*)')) ` -and ($_.length -gt 50) ` -and ($_.Extension -in $filtre) } | Sort-Object -Property Length $filmListe1920 = Get-ChildItem | ? { ($_.Name -match '(?:1920.*q23)') ` -and (-not ($_.Name -match '(.*test.*)')) ` -and ($_.length -gt 50) ` -and ($_.Extension -in $filtre) } | Sort-Object -Property Length $filmTotalNombre = $filmListe1280.Count + $filmListe1920.Count Clear-Host Write-Host ("Nombre total d'éléments à traiter : {0}" -f $filmTotalNombre) Write-Host Write-Host ("Début du traitement ; date courante : {0:yyyyMMdd-HHmmss}" -f $DateHeureDébut) # déplacement des éléments foreach ($film in $filmListe1280) { if (!(test-path ($filmCheminDestination1280, $film -join ""))) { Write-Host ("* déplacement en cours : {0} ; {1:N2} Go" -f $film, ($film.Length/1GB)) Move-Item $film -Destination $filmCheminDestination1280 Write-Host ("* déplacement terminé : {0} ; {1:N2} Go" -f $film, ($film.Length/1GB)) Write-Host } else { Write-Host ("* ==> le fichier existe déjà : {0} ; {1:N2} Go" -f $film, ($film.Length/1GB)) } } foreach ($film in $filmListe1920) { if (!(test-path ($filmCheminDestination1920, $film -join ""))) { Write-Host ("* déplacement en cours : {0} ; {1:N2} Go" -f $film, ($film.Length/1GB)) Move-Item $film -Destination $filmCheminDestination1920 Write-Host ("* déplacement terminé : {0} ; {1:N2} Go" -f $film, ($film.Length/1GB)) Write-Host } else { Write-Host ("* ==> le fichier existe déjà : {0} ; {1:N2} Go" -f $film, ($film.Length/1GB)) } } $DateHeureFin = Get-Date Write-Host Write-Host ("Nombre d'éléments 1280 : {0}" -f $filmListe1280.Count) Write-Host ("Nombre d'éléments 1920 : {0}" -f $filmListe1920.Count) Write-Host ("Fin du traitement ; date courante : {0:yyyyMMdd-HHmmss}" -f $DateHeureFin) Write-Host ("Durée du traitement : {0} secondes" -f ($DateHeureFin - $DateHeureDébut).Seconds)