Question lecture fichier et creation de dossier

Plus d'informations
il y a 13 ans 3 semaines #14717 par stas
Bonjour,

Je suis novices en powershell et voudrai me familiariser assez vite.
donc je me suis lancé dans des pt script de base.
mais la je bloque!!!

je voudrai lire une arborescence d'un disque (dossier uniquement)
et utiliser cette lecture pour recréer cette même arborescence sur un autre disque.:P

voici mon pt script mais un pt problème pour la création des répertoires. :angry:

Get-ChildItem -Path \"\\server\d$\" -recurse | Where-Object { $_.PSIsContainer } | Select-Object Name,Fullname >> c:\temp\essai.txt
$path = Get-Content -Path c:\temp\essai.txt -Encoding default -Force
Foreach ($directory in $path)
{New-Item -ItemType directory -Path \"\\server\e$\" -Name \"$directory\"}


Merci de votre aide et explication

ps: les \\\\\\\ n'apparaisse pas?<br><br>Message édité par: fabgr, à: 26/04/13 09:45

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 semaines #14720 par SiSMik
Bonjour,

Les \ ne sont visisbles que si tu utilises la balise code pour mettre du code (normal quoi ^^)

Ensuite, pourquoi passer par un fichier texte pour evoyer la liste de fichiers à créer ?

[code:1]
Get-ChildItem -Path '\\server\d$' -recurse | Where-Object { $_.PSIsContainer } | Foreach {
New-Item -Type Directory -Path '\\server\e$' -Name $_.Name
}
[/code:1]

Je te conseil de regarder cet exemple qui devrait marcher pour bien comprendre l'intérêt de powershell et des langages objet.

Si tu as des questions :)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 semaines #14721 par stas
Merci bcp pour les info :woohoo:

je viens de tester le script mais pt prob.:(

comment fais-tu si tu as des sous-répertoires à lire et donc des sous répertoires et a recrée.

exemple: d$\\test\\1 - d$\t\est\\2 -.....

le script me donne : e$\\test - e$\\1 - e$\\2 - ...<br><br>Message édité par: fabgr, à: 26/04/13 11:00

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 semaines #14731 par stas
Hello a tous

personne ne sais m'aidez car la vraiment je bloque!!!
lecture du drive d$ :
    d$\test\1 - d$\test\2 - ...

creation dans l'autre drive :
    e$\test - e$\1 - e$\2 - ...

donc comme on peux remarqué ce n'est pas identique

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 semaines #14732 par Matthew BETTON
Bonjour,

Comme le proposait benduru, utilises dans ce Forum les balises [ c o d e ] et [/ c o d e ] (sans les espaces!) afin que les 'slashs' soient visibles... Ca sera plus mieux pour ceux qui chercherons à t'aider :)

Pour remplacer le 'd$' par un 'e$' (exemple) :

[code:1]\&quot;\\server\d$\toto\tutu\&quot; -replace \&quot;\\d\$\&quot;, \&quot;\e$\&quot;[/code:1]

A tester :

[code:1]Get-ChildItem -Path '\\server\d$' -recurse | Where-Object { $_.PSIsContainer } | Foreach {
New-Item -Type Directory -Path ($_.FullName -replace \&quot;\\d\$\&quot;, \&quot;\e$\&quot;«») -Name $_.Name
}[/code:1]

Le '-recurse' sur 'Get-ChildItem' va passer dans toutes les sous arboressences (mode recursif). Le filtre 'Where-Object { $_.PSIsContainer }' va permettre de ne récupérer que les répertoires. Chaque répertoire (arboressence) récupéré va être ainsi transmis via le pipeline à 'New-Item', qui va la recréer sur le nouveau volume.

@ +

Matthew BETTON

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 semaines #14735 par stas
Merci

je commence a comprendre :P :P le principe

mais une chose je ne comprend pas pourquoi j'ai des doublons?
j'explique mon résultat après avoir passer le script sur mon pc

[code:1]
sur mon drive d: j'ai d$\public\1
le script lancé j'ai sur mon drive e: =&gt; e:\public\1 mais aussi e:\public\public
[/code:1]

c'est comme si j'ai des doublons

Je pense que c'est un problème par rapport au pipe?
Il n'y a pas une manière de formater le pipe? avec rien que une liste des répertoires (j'ai fait un test pour voir ce qui est dans le pipe avec &gt;&gt; et j'ai plusieurs info pas que le directory)

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.042 secondes
Propulsé par Kunena