« 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.0
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\"
$DateHeure = Get-Date -UFormat "%Y%m%d-%H%M%S"
# $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 $DateHeure)
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} : {1:N2} Go" -f $film, ($film.Length/1GB))
     if (!(test-path ($filmCheminDestination1280, $film -join ""))) {
    Move-Item $film -Destination $filmCheminDestination1280
        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} : {1:N2} Go" -f $film, ($film.Length/1GB))
     if (!($filmCheminDestination1920, $film -join "")) {
    Move-Item $film -Destination $filmCheminDestination1920
        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 à 20: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)

Voir aussi

  •