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 :

Suppression récursive inconstante


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 67
    Par défaut Suppression récursive inconstante
    Salut

    Je sais que ce sujet est trés fréquent sur le net puisque le flag -recurse de la commande Remove-Item ne fonctionne pas bien (meme les ressources microsoft le disent alors...) Des solutions de contournement sont proposées mais malheuresement, je n'arrive pas à les faire fonctionner systèmatiquement pour supprimer le contenu d'un répertoire et de ses sous-répertoires.

    J'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    get-childitem $ProjectPubDir -exclude web.config, App_Offline.htm -recurse|`
     remove-item -force
    mais parfois la commande se retrouve en train de vouloir effacer un répertoire avant d'avoir effacé son contenu ce qui provoque une demande de confirmation magré le -force. Et ca je veux pas.

    Si j'ajoute un -recurse au remove-item ca marche souvent mieux, mais pas toujours (cf début de mail)

    Donc bref, je tricote et ca me tue d'avoir un tel problème sur un truc aussi basique pour un language de script non? Aurais je fais le mauvais choix...

    Merci de votre aide

    PS: j'utilise PS1

  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,
    à mon avis une formulation écrite de ce que tu veux exactement faire serait la bienvenue. Il y a peut être une ambiguïté entre ce que tu as écrit et ce que tu veux réellement faire.
    Citation Envoyé par FranckRav
    Aurais je fais le mauvais choix...
    C'est un produit jeune, il faut lui laisser un peu de temps je pense.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 67
    Par défaut
    euh... Je cherche à
    supprimer le contenu d'un répertoire et de ses sous-répertoires

  4. #4
    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
    Seul sont concerné les fichiers web.config, App_Offline.htm du répertoire de démarrage ou tous ceux de chaque sous-répertoire ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 67
    Par défaut
    Je précise: la commande est sensée supprimer de facon recursive tout le contenu du répertoire $ProjectPubDir (Ex: D:\Website\Test), à l'exception des fichiers web.config et App_Offline.htm

  6. #6
    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
    D'accord.
    Citation Envoyé par FranckRav
    mais parfois la commande se retrouve en train de vouloir effacer un répertoire avant d'avoir effacé son contenu
    Qu'il y ait des bugs sur ces 2 cmdlets c'est vrai, mais déjà dans ton cas c'est la construction du pipeline qui me semble en cause :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    get-childitem $ProjectPubDir -exclude web.config, App_Offline.htm -recurse|`
    remove-item -force -recurse -Whatif
    Avec le paramètre Whatif on voit que le premier élément reçu dans le pipe est un répertoire, comme l'instruction dans le second segment est une suppression, ce que tu constates est cohérent.
    De mon coté après qq tests je n'ai pas eu le problème que tu cites, mais tu peux essayer le code suivant qui évitera de passer dans des répertoires n'existant plus, si toutefois c'est ça qui pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    get-childitem $ProjectPubDir -exclude web.config, App_Offline.htm |`
    remove-item -force -recurse

Discussions similaires

  1. Suppression récursive de fichiers
    Par julp dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 0
    Dernier message: 14/02/2011, 19h20
  2. [Batch] suppression récursive d'un dossier spécifique
    Par cornnery dans le forum Scripts/Batch
    Réponses: 20
    Dernier message: 30/03/2009, 20h54
  3. Suppression récursive de dossiers
    Par totof49 dans le forum Langage
    Réponses: 3
    Dernier message: 11/12/2008, 14h44
  4. Suppression récursive des fichiers datant de + 1 mois
    Par forumicrosoft dans le forum VBScript
    Réponses: 3
    Dernier message: 24/10/2008, 23h06
  5. [MySQL] Suppression récursive d'éléments dans une table
    Par Toutankharton dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 19/02/2008, 19h48

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