none
Comment déplacer des folders d'un partage vers un autre sur base d'un fichier .txt qui contient le chemin de la source. RRS feed

  • Question

  • Bonjour,

    Je suis à la recherche d'un script qui peut me déplacer en masse des folders sur base d'un fichier .txt qui contient le chemin de la source.

    Les infos.

    Share source ( En réalité le folder dispose de +/-500 folders )

    Structure:

    \\data01\users$\xxx01\files01\doc\

    \\data01\users$\xxx02\files02\divers\

    \\data01\users$\xxx03\files03\voyage\

    Ces informations sont connuent dans un fichier .txt (inventory.txt) 

    Et j'aimerais les déplacer vers un autre share avec la même structure.

    \\store01\users$\xxx01\files01\doc\

    \\store01\users$\xxx02\files02\divers\

    \\store01\users$\xxx03\files03\voyage\

    Une idée ?

    Merci d'avance.

    Serge.

    jeudi 2 juillet 2015 10:43

Toutes les réponses

  • Bonjour spirotte,

    J'imagine que tu souhaites conserver les droits. J'imagine que tes données sont sur des serveur Windows ?

    Une commande : robocopy /MIR /COPYALL \\source \\destination

    te permettra de recopier à l'identique à la destination, conserve les permissions NTFS, et passe à travers les chemin de + de 256 caractères.

    Si tu as des partages, tu peux également les importer, en exportant les clés de registres.

    Dispo si tu as besoin de plus d'infos.

    Cordialement,

    Chris.

    jeudi 2 juillet 2015 21:25
  • salut spirotte,

    alors tu peux utiliser quelque chose dans ce style :

    $source = read-host -Prompt "entrez le répertoire source"

    $destination = read-host -Prompt "entrez le répertoire de destination"

    move-item $source $destination

    vendredi 17 juillet 2015 09:04
  • Bonjour,

    Voici un petit bout de code que tu pourras un peu arranger à ta sauces.

    $listeDeSources = Get-Content .\demo.txt

    ForEach($CurrentSource in $listeDeSources ){
       $Destination = $CurrentSource.Replace("\\data01","\\store01");
        robocopy /MIR /COPYALL $CurrentSource $Destination 
    }

    Cordialement,

    Yannick VILSANS



    samedi 25 juillet 2015 01:16
  • Bonjour,

    Un petit essaye que tu peux améliorer bien évidement

    #Répertoire de destination
    $DestDirectory = "\\store01\users$\"
    
    #Répertoire de sources
    $SourceDirectory = "\\data01\users$\"
    #la liste des répertoires ou fichiers
    $Files = Get-Content .\files.txt 
    
    foreach ($file in $Files)
    {
       
            
            Move-Item -path $SourceDirectory -destination $DestDirectory
            $Counter++
        }  
    }

    A+


    L’information n’a de valeur que si elle est partagée!! AK |Mon Blog|



    samedi 25 juillet 2015 10:14