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 :

Script comparaison de nom ou autre méthode pour régler mon problème svp


Sujet :

Scripts/Batch

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2018
    Messages : 2
    Par défaut Script comparaison de nom ou autre méthode pour régler mon problème svp
    Bonjour à tous,
    Je suis en train de sécher sur une demande qu'on m'a faite qui avait l'air toute simple dans ma tête ......
    Dans un répertoire DOSSIER un script (exécuté toutes les 2 mn) prend un répertoire que nous allons appeler test qui contient des fichiers xml, traite les xml et quand il a fini il copie le répertoire en test_traite et supprime le répertoire test.
    Le répertoire DOSSIER contient des milliers de répertoire (et donc que des répertoires sous la forme XXXXX_traite) mais de temps en temps le script n'arrive pas a supprimer le répertoire d'origine avant traitement.
    On se retrouve donc avec TEST et TEST_traite et cela bloque un autre programme qui lui vient lire ce répertoire DOSSIER car il ne veut voir que des XXXX_traite.
    Du coup j’essaie de faire en vain un script qui serait capable de supprimer le répertoire XXXX en laissant le XXXX_traite seulement si XXXX_traite existe ..... voici mon code début de code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $path = "E:\temp\DOSSIER"
    $path2 = "E:\temp\"
    dir $path\*_traite | Select-Object -ExpandProperty Name > $path2\fichiertraite.csv
    dir $path\* | Select-Object -ExpandProperty Name > $path2\fichiercomplet.csv
    $first = Import-Csv E:\temp\fichiertraite.csv
    $last = Import-Csv E:\temp\fichiercomplet.csv
    Jusqu'ici tout va bien je me retrouve avec 2 fichiers csv, un avec les noms de tout les répertoire dans DOSSIER et l'autre avec uniquement les noms des répertoire finissant par _traite dans DOSSIER
    Du coup je cherche à comparer ces deux csv pour n'avoir uniquement qu'une liste de nom XXXX pour faire un foreeach-object -> delete XXXX
    Mais je coince à la comparaison et surtout à la réponse de cette commande :

    Compare-Object -ReferenceObject $last -DifferenceObject $first | ?{$_.sideIndicator -eq "<="} | select inputobject > E:\temp\resultat.txt

    La sortie ne m'affiche jamais ce que je veux. Je suis peut être pas trop claire alors désolé.
    Je suis novice en powershell et j'ai aussi du mal à voir la suite de mon script avec foreeach.

    Ce n'est peut être pas la bonne voie pour faire ce que veux aussi, quelqu'un aurait-il une idée pour mon problème.
    Merci d'avance car depuis 2 jours je me liquéfie de plus en plus.
    ps: je précise forcement en powershell ou ms-dos au pire !

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    ceci :
    me semble inclure cela :
    Le pb avec ce type de question est que c'est le lecteur qui doit créer le jeu de test

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 218
    Par défaut
    Je ne suis pas sur d'avoir tout comprit mais ceci ne suffit pas ?

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-ChildItem -Path "$path" -Exclude "*_traite" -Force

  4. #4
    Nouveau candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2018
    Messages : 2
    Par défaut
    Merci pour vos réponse, mais cela ne règle pas mon problème.

    Je vous donne un exemple du contenu du répertoire en question pour être plus précis (dans ce cas tout est répertoire, il n'y a pas de fichier) :

    DOSSIER\test_traite
    DOSSIER\test1_traite
    DOSSIER\test2_traite
    DOSSIER\test3
    DOSSIER\test3_traite
    DOSSIER\test4_traite
    DOSSIER\test5
    DOSSIER\test5_traite

    Le but est de pouvoir supprimer automatiquement les répertoires test3 et test5 car ils ont été traité par un autre script (qui copie le répertoire et rajoute _traite puis supprime l'original mais de temps en temps il n'arrive pas à supprimer le non traite)
    Et la je bloque, je n'arrive pas avec compare-object à faire ce que je veux. Mais ce n'est peut-être pas la bonne méthode !
    Merci pour votre aide !

Discussions similaires

  1. [RegExp] ou autre méthode pour analyser une URL
    Par djibril dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 06/06/2012, 22h17
  2. Autre méthode pour l'analyse de SPAM
    Par ysahel dans le forum Sécurité
    Réponses: 1
    Dernier message: 16/03/2012, 03h29
  3. [AS3] Autre méthode pour switch imbriqués ?
    Par 187bundy dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 15/02/2009, 15h35
  4. Réponses: 1
    Dernier message: 03/07/2008, 20h48
  5. Autres méthodes pour remplacer des If
    Par carlou135 dans le forum C++
    Réponses: 7
    Dernier message: 17/01/2007, 02h44

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