Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer des dossiers dans des dossiers en powershell

Sujet résolu
    20 juin 2018 à 8:59:18

    Bonjour, 

    Je ne connais pas powershell, mais je dois créer des dossiers dans d'autres dossiers.

    j'ai réussi à créer un dossier dans le répertoire racine, mais ce n'est pas ce que je veux, il faudrait créer des répertoires dans les répertoires du dossier racine.

    Voici le code que j'ai créé.

    Pouvez-vous m'aider.

    $directory = "C:\Temp\test\"
    $dossier1 = "Archives_test"
    
    Get-ChildItem -Path $directory -file
    # Créer un dossier:
    New-Item -path $directory -Name $dossier1 -ItemType directory
    • Partager sur Facebook
    • Partager sur Twitter
      20 juin 2018 à 17:31:28

      Bonjour,

      Chez moi ton code fonctionne, le dossier "Archives_test" se créer bien dans "C:\Temp\test".

      • Partager sur Facebook
      • Partager sur Twitter
        21 juin 2018 à 9:20:32

        Bonjour Zaibai,

        Oui, mais je voudrai qu'Archive_test soit dans tout les dossiers de test, et pas dans test.

        • Partager sur Facebook
        • Partager sur Twitter
          21 juin 2018 à 13:19:24

          Bonjour, 

          Tu cherches quelques chose dans ce style ?

          $directories = "C:\Temp\test\","C:\Temp\test2","c:\Temp\test3"
          $dossier1 = "Archives_test"
          Get-ChildItem -Path $directory -file
          # Créer un dossier:
          New-Item -path $directory -Name $dossier1 -ItemType directory

          -
          Edité par NicolasBaudin 21 juin 2018 à 13:20:07

          • Partager sur Facebook
          • Partager sur Twitter
            21 juin 2018 à 16:47:13

            Bonjour,

            Je pense que ceci devrait te convenir :

            $directory = "C:\Temp\test\"
            $Recursive_Level = 0
            $dossier1 = "Archives_test"
            $ListFolder = Get-ChildItem -Path $directory -Recurse -Depth $Recursive_Level -Name -Directory
            $ListFolder | ForEach-Object {New-Item -path $directory$_ -Name $dossier1 -ItemType directory}
            



            • Partager sur Facebook
            • Partager sur Twitter
              22 juin 2018 à 8:48:50

              Bonjour à vous 2,

              Merci pour vos infos, j'ai trouvé avec le script de Zaibai, pour avoir archives_test dans tout les répertoires du dossier test, il faut que je modifie $directory= "C:\Temp\test\" 

              par $directory= "C:\Temp\test\*\"

              En revanche, il y un message d'erreur

              Get-ChildItem : Impossible de trouver un paramètre correspondant au nom « Depth ».
              Au niveau de C:\Users\user\Desktop\Test script\Création dossier_Z.ps1 : 5 Caractère : 61
              + $ListFolder = Get-ChildItem -Path $directory -Recurse -Depth <<<<  $Recursive_Level -Name -Directory
                  + CategoryInfo          : InvalidArgument: (:) [Get-ChildItem], ParameterBindingException
                  + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand


              Cela fonctionne, mais juste pour ma culture, pourquoi il y a ce message alors que cela fonctionne?

              -
              Edité par Cubilot 22 juin 2018 à 12:31:19

              • Partager sur Facebook
              • Partager sur Twitter
                24 juin 2018 à 9:23:04

                Bonjour Cubilot,

                Tu dois sans doute utiliser une ancienne version de PowerShell ?

                Et ce paramètre n'a du faire son apparition que sur une version récente.

                • Partager sur Facebook
                • Partager sur Twitter
                  29 juin 2018 à 12:27:28

                  Bonjour Nicolas,

                  J'ai la version 2.0, je pense que c'est dû a cela.

                  En tout cas cela fonctionne. je vous remercie.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 novembre 2023 à 10:16:00

                    Création de plusieurs sous dossiers dans un dossier pour ceux qui aurai aimé faire une variante soit:

                    PS C:\> $Path = "C:\xxx\yyy"
                    >>
                    >>      $Folders = "1","2","3","4"
                    >>
                    >>      New-Item -ItemType Directory -Force -Path $Path
                    >>
                    >>      ForEach ($Folder in $Folders)
                    >>          {
                    >>              New-Item -ItemType Directory -Force -Path $Path"\"$Folder
                    >>          }
                    
                    
                        Répertoire : C:\xxx
                    
                    
                    Mode                 LastWriteTime         Length Name
                    ----                 -------------         ------ ----
                    d-----        25/11/2023     10:02                yyy
                    
                    
                        Répertoire : C:\xxx\yyy
                    
                    
                    Mode                 LastWriteTime         Length Name
                    ----                 -------------         ------ ----
                    d-----        25/11/2023     10:02                1
                    d-----        25/11/2023     10:02                2
                    d-----        25/11/2023     10:02                3
                    d-----        25/11/2023     10:02                4
                    
                    
                    PS C:\>


                    • Partager sur Facebook
                    • Partager sur Twitter

                    Créer des dossiers dans des dossiers en powershell

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    • Editeur
                    • Markdown