« PowerShell/Vidéo » : différence entre les versions
Aller à la navigation
Aller à la recherche
mAucun résumé des modifications |
|||
| Ligne 27 : | Ligne 27 : | ||
Usage : exécuter le script | Usage : exécuter le script | ||
Auteur : fylip22 | Auteur : fylip22 | ||
Version : 1. | Version : 1.1 | ||
Révisions : | Révisions : | ||
- 1.0 (01/11/2023) : création du script | - 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. | |||
#> | #> | ||
| Ligne 35 : | Ligne 38 : | ||
$filmCheminDestination1280 = "E:\video-1280\" | $filmCheminDestination1280 = "E:\video-1280\" | ||
$filmCheminDestination1920 = "E:\video-hd\" | $filmCheminDestination1920 = "E:\video-hd\" | ||
$ | # $DateHeureDébut = Get-Date -UFormat "%Y%m%d-%H%M%S" | ||
$DateHeureDébut = Get-Date | |||
$filtre = (".mkv", ".mp4") | $filtre = (".mkv", ".mp4") | ||
| Ligne 41 : | Ligne 45 : | ||
# création des listes des éléments à déplacer | # 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 | $filmListe1280 = Get-ChildItem | | ||
$filmListe1920 = Get-ChildItem | ? { ($_.Name -match '(?:1920.*q23)') -and (-not ($_.Name -match '(.*test.*)')) -and ($_.length -gt 50) -and ($_.Extension -in $filtre) } | Sort-Object -Property Length | ? { ($_.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 | $filmTotalNombre = $filmListe1280.Count + $filmListe1920.Count | ||
| Ligne 48 : | Ligne 64 : | ||
Write-Host ("Nombre total d'éléments à traiter : {0}" -f $filmTotalNombre) | Write-Host ("Nombre total d'éléments à traiter : {0}" -f $filmTotalNombre) | ||
Write-Host | Write-Host | ||
Write-Host ("Début du traitement ; date courante : {0}" -f $ | Write-Host ("Début du traitement ; date courante : {0:yyyyMMdd-HHmmss}" -f $DateHeureDébut) | ||
# déplacement des éléments | # déplacement des éléments | ||
foreach ($film in $filmListe1280) { | foreach ($film in $filmListe1280) { | ||
Write-Host ("* {0} | 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) { | foreach ($film in $filmListe1920) { | ||
Write-Host ("* {0} | if (!($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 | ||
Write-Host ("Nombre d'éléments 1280 : {0}" -f $filmListe1280.Count) | Write-Host ("Nombre d'éléments 1280 : {0}" -f $filmListe1280.Count) | ||
Write-Host ("Nombre d'éléments 1920 : {0}" -f $filmListe1920.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) | |||
</source> | </source> | ||
Version du 22 mars 2024 à 19:08
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 (!($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)