Pincab Passion
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilAccueil  PortailPortail  ÉvènementsÉvènements  WIPs Team PP  S'enregistrerS'enregistrer  ConnexionConnexion  Dons  








 

 [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"

Aller en bas 
4 participants
AuteurMessage
toprod




Messages : 12
Département : Nord

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptySam 16 Déc 2023 - 18:28

Bonjour à tous,

Si comme moi votre dossier PinupSystem est remplis de fichiers ancien inutilisé voici un script Powershell vous permettant de faire un nettoyage rapide !  Very Happy

Code:
# Chemin vers le dossier des tables
$cheminTables = "C:\Visual Pinball\Tables"

# Chemins vers les dossiers de médias
$mediaPaths = @(
    "C:\PinupSystem\POPMedia\Visual Pinball X\Audio",
    "C:\PinupSystem\POPMedia\Visual Pinball X\AudioLaunch",
    "C:\PinupSystem\POPMedia\Visual Pinball X\BackGlass",
    "C:\PinupSystem\POPMedia\Visual Pinball X\DMD",
    "C:\PinupSystem\POPMedia\Visual Pinball X\GameHelp",
    "C:\PinupSystem\POPMedia\Visual Pinball X\GameInfo",
    "C:\PinupSystem\POPMedia\Visual Pinball X\GameSelect",
    "C:\PinupSystem\POPMedia\Visual Pinball X\Loading",
    "C:\PinupSystem\POPMedia\Visual Pinball X\Menu",
    "C:\PinupSystem\POPMedia\Visual Pinball X\Other1",
    "C:\PinupSystem\POPMedia\Visual Pinball X\Other2",
    "C:\PinupSystem\POPMedia\Visual Pinball X\PlayField",
    "C:\PinupSystem\POPMedia\Visual Pinball X\Topper",
    "C:\PinupSystem\POPMedia\Visual Pinball X\Wheel"

)

# Obtenir la liste des tables présentes dans le dossier des tables
$tables = Get-ChildItem -Path $cheminTables -Filter *.vpx | ForEach-Object { $_.BaseName }

# Parcourir chaque dossier de médias
foreach ($mediaPath in $mediaPaths) {
    # Obtenir la liste des fichiers média dans le dossier
    $mediaFiles = Get-ChildItem -Path $mediaPath -File

    # Parcourir chaque fichier média
    foreach ($mediaFile in $mediaFiles) {
        # Extraire le nom de la table du nom du fichier média
        $tableName = $mediaFile.BaseName

        # Vérifier si le fichier n'est pas "default" et s'il se termine par "xx(SCREENx)"
        if ($tableName -ne "default" -and $tableName -like "*(SCREEN[0-9])*") {
            # Extraire la partie avant "01(SCREEN3)" du nom de fichier
            $prefix = $tableName -replace '[0-9]{1,2}\(SCREEN[0-9]\)$', ''

            # Vérifier si le préfixe n'existe pas dans le dossier des tables
            if ($prefix -notin $tables) {
                # Si la condition est remplie, supprimer le fichier média
                Remove-Item -Path $mediaFile.FullName -Force
                Write-Host "Fichier supprimé : $($mediaFile.FullName)"
            }
        }
        # Vérifier si le fichier n'est pas "default" et s'il ne correspond à aucune table dans le dossier des tables
        elseif ($tableName -ne "default" -and $tableName -notin $tables) {
            # Si la condition est remplie, supprimer le fichier média
            Remove-Item -Path $mediaFile.FullName -Force
            Write-Host "Fichier supprimé : $($mediaFile.FullName)"
        }
    }
}

Write-Host "Opération terminée."

Je viens de supprimer des milliers d'images, vidéos et audio en quelques secondes et tous les fichiers qui corresponde à mes tables sont toujours la bien sur !   Very Happy

Le script ne supprimera pas vos fichiers "default" et ne prendra pas en compte les sous dossiers.

Il est tout de même conseillé de sauvegarder votre dossier avant !

 Bon nettoyage à vous !  [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" 3253257302


Dernière édition par toprod le Dim 17 Déc 2023 - 0:37, édité 3 fois (Raison : Modification du script pour prise en charge **(SCREEN*))

gzstation et Draken06 aiment ce message

Revenir en haut Aller en bas
zack06007

zack06007


Messages : 451
Département : 06

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: Re: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptySam 16 Déc 2023 - 18:33

C'est que tu étais désorganisé - perso des que je vire une table je vire les médias avec - je pense pas avoir une seule image qui ne correspondent pas à une table qui n'existerai plus Very Happy Il faut certes etre rigoureux...

Avec ton script tu sais combien de fichier il te vire au moins?
Revenir en haut Aller en bas
toprod




Messages : 12
Département : Nord

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: Re: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptySam 16 Déc 2023 - 18:43

Oui il liste la totalité des fichiers supprimé.

Je t'invite à tester en ajoutant en commentaire la ligne : 

Code:
# Remove-Item -Path $cheminFichierMedia -Force

Rien ne sera supprimé comme ça
Je serais vraiment surpris qu'il n'y ait aucun oubli dans tous les dossiers. Si c'est le cas, bravo !  [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" 1393933098
Revenir en haut Aller en bas
zack06007

zack06007


Messages : 451
Département : 06

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: Re: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptySam 16 Déc 2023 - 18:56

je vais testé j'aime bien la propreté optimale cheers et je te dirai!

Je lance le scipt dans l'invité de commande Windows ?
Tout les fichiers effacés vont à la corbeille - histoire de vérifier ce que ton script efface ?
Revenir en haut Aller en bas
toprod




Messages : 12
Département : Nord

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: Re: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptySam 16 Déc 2023 - 19:01

J'ai oublié de préciser !  [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" 2480599388 C'est en PowerShell.

Il faut chercher Powershell dans la recherche Windows et lancer "Powershell ISE"

Ensuite Copier/Coller dans la fenêtre et F5 ou la touche "Lecture".

zack06007 aime ce message

Revenir en haut Aller en bas
Draken06

Draken06


Messages : 138
Département : 06

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: Re: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptySam 16 Déc 2023 - 20:27

Tout d'abord merci pour ce script bien pratique.  [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" 3253257302

Par contre juste une petite remarque. [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" 773715342

Je viens de m'apercevoir qu'il m'a également nettoyé les fichiers vidéos "vides" que j'avais créer pour les loading pinup.
Je parle de ces fameux fichiers "blank" que l'on dois insérer avant le fichier de Loading FullScreen en écran 3.
C'est bien sur dans le cas ou l'option T-Arc est installé mais que l'on aime malgré tout avoir les loading en plein écran.

Je suis allé un peu vite... donc ma faute si j'ai, pour le moment, "perdu" mes loading.  [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" 773715342

Il faudrait que je me colle à la création d'un script pour recréer ces fichier vides avec le bon nommage en auto car à la main ca risque d'être long...  Razz
Revenir en haut Aller en bas
toprod




Messages : 12
Département : Nord

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: Re: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptySam 16 Déc 2023 - 20:52

Merci pour ton retour de test.

Je n'utilise ni T-ARC ni la technique du fichier "blank".

Il s'agit du même fichier vidéo "vide" copié avec les noms des différentes tables dans un dossier particulier ?
Revenir en haut Aller en bas
Draken06

Draken06


Messages : 138
Département : 06

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: Re: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptySam 16 Déc 2023 - 21:49

Alors... je viens de regarder mes fichiers loading en détails... et c'est plus compliqué que je pensais.

En fait touts mes fichiers "blank" sont encore en places (donc avec le nom exact de la table) mais tous les fichiers Fullscreen on été supprimés.
Peut-être donc une correction à faire pour ne pas toucher aux fichiers de ce style : nom de la table + 01(SCREEN3)

Exemple: F-14 Tomcat (Williams 1987)01(SCREEN3).mp4

Donc dans mon cas, script ou non, c'est mort.  [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" 773715342
Je vais devoir remettre en place chaque fichiers à la main.
Mais étant un psychopathe j'ai garder en backup tous les loading donc y-a plus qu'à si mettre.  Cool
Revenir en haut Aller en bas
zack06007

zack06007


Messages : 451
Département : 06

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: Re: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptySam 16 Déc 2023 - 22:33

Merci d'être passé en premier 😂courage !!!! Je te filerai bien mes 300 miens mais tes noms sont pas forcement pareils...
Revenir en haut Aller en bas
toprod




Messages : 12
Département : Nord

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: Re: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptySam 16 Déc 2023 - 22:56

J'ai modifié le script il exclu maintenant les fichiers qui porte le même nom et qui termine par xx(SCREENx)

La solution pour toi [Vous devez être inscrit et connecté pour voir ce lien] serait de recopier ton dossier en entier et de relancer le script cette fois si uniquement les inutilisé seront supprimé  Very Happy

J'ai également ajouté le dossier "Audio" dans la liste des dossiers
Revenir en haut Aller en bas
alaingui789




Messages : 5
Département : 78

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: Re: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptyDim 31 Déc 2023 - 10:41

je me suis permis de reprendre avec une variable pour dossier media

------------------------------------------------------
Code:
# Chemin vers le dossier des tables
$cheminTables = "C:\vPinball\VisualPinball\Tables"

# Chemin vers le dossier POPMedia
$cheminMedia = "C:\vPinball\PinUPSystem\POPMedia\Visual Pinball X\"

Write-Host $cheminTables , $cheminMedia
$ret = Read-Host -Prompt "Voici les deux fichiers de travail , on continue O/N ?"

if ($ret.ToUpper() -ne "O") {Exit} 

# Chemins vers les dossiers de médias
$mediaPaths = @()
$mediaPaths += ,@($cheminMedia + 'Audio')
$mediaPaths += ,@($cheminMedia + 'AudioLaunch')
$mediaPaths += ,@($cheminMedia + 'BackGlass')
$mediaPaths += ,@($cheminMedia + 'DMD')
$mediaPaths += ,@($cheminMedia + 'GameHelp')
$mediaPaths += ,@($cheminMedia + 'GameInfo')
$mediaPaths += ,@($cheminMedia + 'GameSelect')
$mediaPaths += ,@($cheminMedia + 'Loading')
$mediaPaths += ,@($cheminMedia + 'Menu')
$mediaPaths += ,@($cheminMedia + 'Other1')
$mediaPaths += ,@($cheminMedia + 'Other2')
$mediaPaths += ,@($cheminMedia + 'PlayField')
$mediaPaths += ,@($cheminMedia + 'Topper')
$mediaPaths += ,@($cheminMedia + 'Wheel')


# Obtenir la liste des tables présentes dans le dossier des tables
$tables = Get-ChildItem -Path $cheminTables -Filter *.vpx | ForEach-Object { $_.BaseName }

$Compteur = 0

# Parcourir chaque dossier de médias
foreach ($mediaPath in $mediaPaths) {
    # Obtenir la liste des fichiers média dans le dossier
    $mediaFiles = Get-ChildItem -Path $mediaPath -File

    # Parcourir chaque fichier média
    foreach ($mediaFile in $mediaFiles) {
        # Extraire le nom de la table du nom du fichier média
        $tableName = $mediaFile.BaseName

        # Vérifier si le fichier n'est pas "default" et s'il se termine par "xx(SCREENx)"
        if ($tableName -ne "default" -and $tableName -like "*(SCREEN[0-9])*") {
            # Extraire la partie avant "01(SCREEN3)" du nom de fichier
            $prefix = $tableName -replace '[0-9]{1,2}\(SCREEN[0-9]\)$', ''

            # Vérifier si le préfixe n'existe pas dans le dossier des tables
            if ($prefix -notin $tables) {
                # Si la condition est remplie, supprimer le fichier média
                Remove-Item -Path $mediaFile.FullName -Force
                Write-Host "Fichier supprimé : $($mediaFile.FullName)"
            }
        }
        # Vérifier si le fichier n'est pas "default" et s'il ne correspond à aucune table dans le dossier des tables
        elseif ($tableName -ne "default" -and $tableName -notin $tables) {
            # Si la condition est remplie, supprimer le fichier média
            Remove-Item -Path $mediaFile.FullName -Force
$compteur++
            Write-Host  "Fichiers supprimé : $($mediaFile.FullName)"
        }
    }
}
Write-Host "Opération terminée : "  $compteur " fichiers supprimés"
pause
Revenir en haut Aller en bas
toprod




Messages : 12
Département : Nord

[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" Empty
MessageSujet: Re: [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"   [ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem" EmptyDim 31 Déc 2023 - 10:44

Merci pour cette évolution du script [Vous devez être inscrit et connecté pour voir ce lien]
Revenir en haut Aller en bas
 
[ASTUCE] Nettoyer automatiquement votre dossier "PinupSystem"
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [EN COURS] Comment allumer le PC automatiquement ?...
» [OBSOLÈTE] Installation et configuration de base PinUp System
» [TUTO] PinSound - Relancer automatiquement PinsoundStudio.exe
» Dossier BAM de A à Z
» [TUTO] Mettre à jour le DOF automatiquement "Pour les Pincabs connectés"

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Pincab Passion :: Univers du PC , du Bricolage & de l'Impression 3D :: Trucs & Astuces :: [LOGICIELS] Divers-
Sauter vers: