IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Demande d'aide pour une recherche inversée


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 11
    Points : 3
    Points
    3
    Par défaut Demande d'aide pour une recherche inversée
    Bonjour,
    J'ai 66 ans et je collectionne les films de SF. J'en possède à ce jour 4474 .. et je compte pas les épisodes des séries de SF !!

    Ceux ci sont stockés sur un NAS SYn..... de 15 To et classés de la façon suivante :

    Décennie xxxx\année yyyy\Nom_du_film (yyyy)\ dans ce répertoire se trouve normalement les fichiers suivants :

    1) Nom_du_film (yyyy).mp4 ou Nom_du_film (yyyy).avi ou Nom_du_film (yyyy).mkv
    2) Nom_du_film (yyyy).srt ou Nom_du_film (yyyy).idx +Nom_du_film (yyyy).mp4.sub
    3) Nom_du_film (yyyy).jpeg
    4) Nom_du_film (yyyy).pdf
    5) Nom_du_film (yyyy).format du film.vsmeta (Ce fichier indique que j'ai bien complété la fiche de synthèse du film)

    Je souhaiterai savoir comment faire pour chercher dans tous les répertoires (4474) ceux qui ne contiennent pas ce fameux fichier noté en 5) Nom_du_film (yyyy).format du film.vsmeta !

    Ce fichier indique que j'ai bien complété la fiche de synthèse du film.

    Bref il s'agit de faire une recherche inversée : quel répertoire ne contient pas *.*.vsmeta. C'est simple mais je n'ai pas trouvé de petit logiciel. Si quelqu'un pouvait me donner un petit coup de main cela serait mon cadeau de Noël !!

    Merci d'avance
    Cordialement
    Scifi38150

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Ça parait assez simple.
    On va le faire en Powershell.

    Pourrait tu me donner un exemple de ce 5eme fichiers ?
    Ça doit donner un truc comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Stargate (1984).MKV
    Stargate (1984).MKV.vsmeta
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Stargate (1984).MKV
    Stargate (1984).format du film.vsmeta
    Je ne sais pas trop ce que tu entent par format du film c'est 16_9 4_3 ?
    Le mieux est de détecter si il y à bien un film et pas de vsmeta.

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Sinon ceci pour commencer

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dossier = "\\monNas\mondossierfilm"
    Get-ChildItem -LiteralPath $dossier -Recurse | Where-Object {!$_.PSIsContainer -and $_.Extension -in (".mp4", ".avi", ".mkv") -and @(Get-ChildItem -Path "$($_.DirectoryName)\*.vsmeta").Count -ne 1} | Select-Object -ExpandProperty DirectoryName

    Il va te lister les dossiers qui contiennent au moins un fichier mp4 ou avi ou mkv et pas 1 seul (2 n'étant par 1 seul) fichier qui fini par vsmeta

  4. #4
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 11
    Points : 3
    Points
    3
    Par défaut format du film
    Bonjour,
    Merci pour cette réponse rapide
    un exemple de répertoire \\NAS\video\Chronologie\Décennie 1930\Année 1930\Alraune (1930) contenant les fameux fichiers :
    Alraune (1930).mp4
    Alraune (1930).jepg
    Alraune (1930).mp4.vsmeta

    Un autre exemple de répertoire \\NAS\video\Chronologie\Décennie 1930\Année 1932\Chandu le magicien (Chandu the Magician) (1932)qui ne contient pas le fameux fichier
    Chandu le magicien (Chandu the Magician) (1932).avi
    Chandu le magicien (Chandu the Magician) (1932).jepg
    Chandu le magicien (Chandu the Magician) (1932).srt
    Chandu le magicien (Chandu the Magician) (1932).avi.vsmeta

    L'idée de chercher les deux fichiers est intéressante !! à conditions d'avoir un fichier (txt, pdf, html, ou csv peut importe) en sortie.

    Merci de ton aide

  5. #5
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Comme ceci alors

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dossier = "\\NAS\video\Chronologie"
    Get-ChildItem -LiteralPath $dossier -Recurse | Where-Object {!$_.PSIsContainer -and $_.Extension -in (".mp4", ".avi", ".mkv") -and !(Test-Path -LiteralPath "$($_.FullName).vsmeta" -PathType Leaf)} | Select-Object -ExpandProperty FullName | Set-Content -LiteralPath "$dossier\Result.txt"

    Il va vérifier pour chaque fichier vidéo si il a bien un fichier vsmeta associé

  6. #6
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 11
    Points : 3
    Points
    3
    Par défaut utilisation de powershell
    je suis nul en programmation
    Comment fait on pour utiliser powershell sous windows 7 et obtenir un listing des noms du film qui ne sont accompagnés de *.*.vsmeta ,
    Merci d'avance

  7. #7
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Tu doit mettre le code donnée dans un fichier .ps1
    script.ps1 par exemple

    Tu doit modifier $dossier = "\\NAS\video\Chronologie" par le chemin de ton NAS qui contient les films (si besoin)

    Sur ton pc tu devra autoriser l'exécution des script Powershell : https://www.pcastuces.com/pratique/astuces/3908.htm

    Après, clique droit sur le fichier .ps1 et Exécuter avec PowerShell

    Une fois le script exécuté il va te créer un fichier Result.txt dans le dossier qui contient les films

  8. #8
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 11
    Points : 3
    Points
    3
    Par défaut création fichier PS1
    Tu as fais le plus gros du travail !! je vais essayer de créer ce fichier *.ps1. Merci pour ton aide en tout cas si cela fonctionne ce sera un super kdodenaouel pour Noël pour moi. Des mois que je cherche une solution simple

    merci encore !!!

  9. #9
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Ça va fonctionner !

  10. #10
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 11
    Points : 3
    Points
    3
    Par défaut le fichier de résultat
    question bête : le fichier de résultat global sera enregistré où ?

  11. #11
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Le résultat sera dans
    \\NAS\video\Chronologie\Result.txt

  12. #12
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 11
    Points : 3
    Points
    3
    Par défaut le résultat global
    Vraiment de tout coeur
    MERCI INFINIMENT !!!

    Passe de bonnes fêtes de fin d'année .. Tu viens de rendre un homme heureux qui est amoureux de la SF depuis plus de cinquante ans !!

  13. #13
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Ok mais tu as le résultat attendu ?

    Si tu le relance ça va réanaliser le contenu et recréer le fichier result.txt

  14. #14
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Cool d'avoir pu aider en tout cas

    Bonnes fêtes de fin d'année à toi aussi

  15. #15
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    J'ai écrit çà dans le fichier script
    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dossier = "\\MESFILMSDESF\video\Chronologie"
    Get-ChildItem -LiteralPath $dossier -Recurse | Where-Object {!$_.PSIsContainer -and $_.Extension -in (".mp4", ".avi", ".mkv") -and !(Test-Path -LiteralPath "$($_.FullName).vsmeta" -PathType Leaf)} | Select-Object -ExpandProperty FullName | Set-Content -LiteralPath "$dossier\Result.txt"

    et Windows me réponds çà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Vous devez fournir une expression de valeur à droite de l'opérateur «*-*».
    Au niveau de C:\Windows\system32\script.ps1*: 2 Caractère*: 99
    + Get-ChildItem -LiteralPath $dossier -Recurse | Where-Object {!$_.PSIsContainer -and $_.Extension - <<<< in (".mp4", "
    .avi", ".mkv") -and !(Test-Path -LiteralPath "$($_.FullName).vsmeta" -PathType Leaf)} | Select-Object -ExpandProperty F
    ullName | Set-Content -LiteralPath "$dossier\Result.txt"
        + CategoryInfo          : ParserError: (:) [], ParseException
        + FullyQualifiedErrorId : ExpectedValueExpression
    Que dois je faire ?

    Je viens faire plusieurs l'exécution du script avec toujours la même erreur et toujours pas de fichier résultat

  16. #16
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Il semble qu'il bloque sur -in (: 2 Caractère*: 99) surement une limitation ou bug de Powershell 3 sous Windows 7 (je suis sous Windows 10)

    On va le remplacer comme ceci :

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dossier = "\\MESFILMSDESF\video\Chronologie"
    Get-ChildItem -LiteralPath $dossier -Recurse | Where-Object {!$_.PSIsContainer -and @(".mp4", ".avi", ".mkv") -contains $_.Extension -and !(Test-Path -LiteralPath "$($_.FullName).vsmeta" -PathType Leaf)} | Select-Object -ExpandProperty FullName | Set-Content -LiteralPath "$dossier\Result.txt"

  17. #17
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 11
    Points : 3
    Points
    3
    Par défaut en attente de traitement
    Premieres erreurs voir le fichier joint et pas de fichier "Résultat"Nom : erreurs.JPG
Affichages : 240
Taille : 272,1 Ko

  18. #18
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Arf, la on est bien embêté.

    Il nous dit que la longueur total dépasse la limite des 256 caractères au moins sur des dossiers.
    Par exemple ceci dépasse les 256 caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \\MESFILMSDESF\video\Chronologie\fdjshfjdshfhdjskfksd\fdshjkfhsdejfhsdhfjshjfkdhsfhjsdfkjshdfjsdhjkfhsdkfjdshjkfsd.mkv
    C'est une limite de Windows, laisse le script se finit pour voir si il te créer comme même un resultat.txt
    On va réfléchir la dessus

  19. #19
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 11
    Points : 3
    Points
    3
    Par défaut longueur limitée de la chaine
    Pour faire simple je peux faire ça par décennies
    Je viens d'essayer par décennie pas de soucis de longueur de chaine mais pas de fichier résultat nul part.

  20. #20
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2019
    Messages : 11
    Points : 3
    Points
    3
    Par défaut connecter des lecteurs réseau
    je peux connecter un lecteur réseau par décennie si qui va raccourcir sérieusement la longueur de chaine...!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Demande d'aide pour une formation SDL/OpenGL.
    Par Squalthor dans le forum API graphiques
    Réponses: 14
    Dernier message: 13/07/2006, 21h24
  2. [Oracle] : demande d'aide pour une jointure
    Par Gouzoul dans le forum Langage SQL
    Réponses: 10
    Dernier message: 27/04/2006, 12h39
  3. Réponses: 2
    Dernier message: 02/03/2006, 12h57
  4. [VBA] Excell : demande d'aide pour une macro
    Par Fealendril dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/01/2006, 17h28
  5. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 03h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo