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 :

Remove-Item avec des paramètres [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Invité de passage
    Homme Profil pro
    Aucune
    Inscrit en
    Avril 2026
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Aucune

    Informations forums :
    Inscription : Avril 2026
    Messages : 3
    Par défaut Remove-Item avec des paramètres
    Bonjour,
    Je n'arrive pas à contourner cette erreur.
    "Remove-Item : Impossible de trouver un paramètre positionnel acceptant l'argument «-Force»"
    Quelqu'un peut-il me dire ce que je fais de mal pour obtenir ce message:
    En vous remerciant de votre aide

    Function Get-RepDel
    {
    Param
    (
    $Chemin,
    $Par1,
    $Par2,
    $Par3
    )
    Remove-Item -Path $chemin $par1 $Par2 $Par3
    }

    # Suppression d'un Répertoire et de ses Sous-Répertoire (avec préavis si des fichiers existent)
    $Rep="C:\Windows\Toto"
    $Param1="-Force"
    $Param2="-Recurse"
    $Param3="-Confirm"

    Get-RepDel $Rep $Param1 $Param2 $Param3

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 222
    Par défaut
    Salut,

    Je vais te proposer de travailler avec Get-ChilItem pour l'exemple.
    On utilisera le paramètre Path (type string, chaine de caractère) pour le chemin et le paramètre Force (type switch, commutateur) pour afficher les fichiers cachés.
    A noter que pour cmdlet Remove-Item les 3 paramètres Force, Recurse et Confirm sont de type switch (voir documentation https://learn.microsoft.com/fr-fr/po...l-7.6#-confirm)

    Voici 4 méthodes te permettant de réaliser ce que tu souhaites.
    Pour chaque méthode on affichera pas le fichier caché (sans -Force). Puis on l’affichera
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    $chemin = "C:\MonDossierTest" # Mettre un fichier normal et un caché pour les tests dans ce dossier
     
    # Une approche simple v1
    Function Get-Rep1
    {
        Param
        (
            $Chemin,
            [bool]$Force = $false
        )
     
        Get-ChildItem -Path $Chemin -Force:$Force
    }
    Get-Rep1 -Chemin $chemin
    Get-Rep1 -Chemin $chemin -Force $true
     
     
    # Une approche simple v2
    Function Get-Rep2
    {
        Param
        (
            $Chemin,
            [switch]$Force
        )
        Get-ChildItem -Path $Chemin -Force:$Force.IsPresent
    }
    Get-Rep2 -Chemin $chemin
    Get-Rep2 -Chemin $chemin -Force
     
     
    # Méthode du splatting (@Parameters) dans la fonction 
    Function Get-Rep3
    {
        Param
        (
            $Chemin,
            [switch]$Force
        )
     
        $Parameters = @{
            Path = $Chemin
            Force = $Force.IsPresent
        }
     
        Get-ChildItem @Parameters
    }
    Get-Rep3 -Chemin $chemin
    Get-Rep3 -Chemin $chemin -Force
     
     
    # Méthode du splatting (@Parameters) en dehors de la fonction
    Function Get-Rep4
    {
        Param
        (
            [hashtable]$Parameters
        )
     
        Get-ChildItem @Parameters
    }
     
    $MyParam = @{
        Path = $Chemin
    }
    Get-Rep4 $MyParam
     
     
    $MyParam = @{
        Path = $Chemin
        Force = $true
    }
    Get-Rep4 $MyParam
     
     
    # Ou en condenser (OneLiner)
    Get-Rep4 @{Path = $Chemin}
    Get-Rep4 @{Path = $Chemin;Force = $true}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer un tableau avec des items
    Par arm3366 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/09/2011, 11h18
  2. Treeview avec des items de types différents?
    Par takinelinfo dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 31/05/2011, 14h19
  3. Avoir radiogroup avec des items en horizontale
    Par tijani dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/02/2010, 15h55
  4. listbox avec des items de couleur différente
    Par ifrit 23 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 08/02/2008, 22h28
  5. Réponses: 4
    Dernier message: 28/07/2006, 08h31

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