Question
[Résolu] Lister et déplacer des fichiers
- Michel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 7 ans 9 mois #25627
par Michel
[Résolu] Lister et déplacer des fichiers a été créé par Michel
Bonjour à tous, je débute en PowerShell.
(J'en suis au stade avant le débutant)…
J'ai un disque dur rempli de photos, videos etc...Je vous laisse imaginer(Grosso modo 200000 fichiers, accro à la photo sous-marine et autre) et j'aimerais regrouper les fichiers par années/mois/Types de fichiers (jpg, avi, mov, etc.).
J'ai donc créé les dossiers comme ceci, je me doute qu'il y a surement plus simple, mais pas à mon niveau d'expérience, ...d'autant que je voudrais le faire pour les années 2002 à 2018...
#Créer le folder de l'année.
New-Item -Path L:\. -Name \"2015\" -ItemType \"directory\"
#Créer les dossiers de mois.
New-Item -Path L:\2015. -Name \"Janvier2015\" -ItemType \"directory\"
Ensuite je veux faire le tri et déplacer les fichiers qui sont un peu éparpillés dans tous les sens. la je l'ai fait pour les jpg, mais comme je dois faire ceci pour tous les types de fichiers qui se trouvent sur le disque si je dois trier chaque type de fichiers avec la commande que j'affiche ci-dessous, j'en ai pour des années à dépatouiller tout ca.
#Création de variable dans laquelle je place mon tri sur date des mois
$triphot = Get-ChildItem l:\ -Force -Recurse -Include *.avi, *.mp4, *.mpg, *.mov, *.mpeg |Sort-object|Select-Object |
Where-Object {($_.LastWriteTime -gt '01/01/2015') -and ( $_.LastWriteTime -lt '01/31/2015')}
#Déplacement des fichiers concernés dans le dossier ad hoc
move-item $triphot -Force -Destination L:\2015\Janvier2015
Donc plusieurs questions :
Comment faire pour rechercher tous ces fichiers en une seule commande?
Comment puis effectuer ce tri sur les mois, sans devoir faire une ligne par type de fichiers/ pour les douze mois de l'années étalés sur 20 ans? ....
J'espère que mes questions sont claires (plus que mon code en tous les cas,
)
Merci d'avance pour l'aide que vous pourrez m'apporter, en espérant un jour pouvoir être à même d'aider quelqu'un.
Message édité par: Bullebizarre, à: 16/06/18 09:31<br><br>Message édité par: Arnaud, à: 20/06/18 13:49
(J'en suis au stade avant le débutant)…
J'ai un disque dur rempli de photos, videos etc...Je vous laisse imaginer(Grosso modo 200000 fichiers, accro à la photo sous-marine et autre) et j'aimerais regrouper les fichiers par années/mois/Types de fichiers (jpg, avi, mov, etc.).
J'ai donc créé les dossiers comme ceci, je me doute qu'il y a surement plus simple, mais pas à mon niveau d'expérience, ...d'autant que je voudrais le faire pour les années 2002 à 2018...
#Créer le folder de l'année.
New-Item -Path L:\. -Name \"2015\" -ItemType \"directory\"
#Créer les dossiers de mois.
New-Item -Path L:\2015. -Name \"Janvier2015\" -ItemType \"directory\"
Ensuite je veux faire le tri et déplacer les fichiers qui sont un peu éparpillés dans tous les sens. la je l'ai fait pour les jpg, mais comme je dois faire ceci pour tous les types de fichiers qui se trouvent sur le disque si je dois trier chaque type de fichiers avec la commande que j'affiche ci-dessous, j'en ai pour des années à dépatouiller tout ca.
#Création de variable dans laquelle je place mon tri sur date des mois
$triphot = Get-ChildItem l:\ -Force -Recurse -Include *.avi, *.mp4, *.mpg, *.mov, *.mpeg |Sort-object|Select-Object |
Where-Object {($_.LastWriteTime -gt '01/01/2015') -and ( $_.LastWriteTime -lt '01/31/2015')}
#Déplacement des fichiers concernés dans le dossier ad hoc
move-item $triphot -Force -Destination L:\2015\Janvier2015
Donc plusieurs questions :
Comment faire pour rechercher tous ces fichiers en une seule commande?
Comment puis effectuer ce tri sur les mois, sans devoir faire une ligne par type de fichiers/ pour les douze mois de l'années étalés sur 20 ans? ....
J'espère que mes questions sont claires (plus que mon code en tous les cas,
Merci d'avance pour l'aide que vous pourrez m'apporter, en espérant un jour pouvoir être à même d'aider quelqu'un.
La pièce jointe TRIPHOTVID.ps1 est absente ou indisponible
Message édité par: Bullebizarre, à: 16/06/18 09:31<br><br>Message édité par: Arnaud, à: 20/06/18 13:49
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 7 ans 9 mois #25630
par Philippe
Réponse de Philippe sur le sujet Re:Lister et déplacer des fichiers
salut Bullebizarre et bienvenue

\"avant debutant\" c'est à dire que tu n'a jamais fais de programmation sur un autre language ?

un gros dans la premiere partie j'ai fait deux boucles imbriquer pour la creation des dossiers années et mois
dans la deuxième partie, plutôt que de passé par une variable, ce qui obligé de faire une boucle et de lire 204 fois la liste des fichiers (17ans X 12mois), j'ai fais le déplacement directement
ATTENTION : la source ne doit pas être dans le même dossier que la destination
[code:1]# Créer les dossiers des années et des mois.
$dest = \"L:\test\\" # le chemin doit finir par \"\\"
2002..2018 | foreach {
$annee = $_
1..12 | foreach {
$mois = get-date \"01/$_/2000\" -format 'MMMM'
New-Item -Path \"$dest$annee\$mois$annee\" -ItemType \"directory\" | out-null
}
}
# Fichiers vidéos divers
$source = \"L:\\" # le chemin doit finir par \"\\"
# Création de variable dans laquelle je place mon tri sur date des mois
Get-ChildItem $source -File -Force -Recurse -Include *.avi, *.mp4, *.mpg, *.mov, *.mpeg | foreach {
$fichier = $_
$annee = $fichier.LastAccessTime.Year
$mois = get-date $fichier.LastAccessTime -format 'MMMM'
# Déplacement des fichiers concernés dans le dossier ad hoc
move-item $fichier.FullName -Force -Destination \"$dest$annee\$mois$annee\"
}[/code:1]
on est tous passer par laje débute en PowerShell.
(J'en suis au stade avant le débutant)…
\"avant debutant\" c'est à dire que tu n'a jamais fais de programmation sur un autre language ?
comme tu a fais ou j'ai pas compris !!Comment faire pour rechercher tous ces fichiers en une seule commande?
comme c'est long a expliquer je l'ai faitComment puis effectuer ce tri sur les mois, sans devoir faire une ligne par type de fichiers/ pour les douze mois de l'années étalés sur 20 ans? ....
un gros dans la premiere partie j'ai fait deux boucles imbriquer pour la creation des dossiers années et mois
dans la deuxième partie, plutôt que de passé par une variable, ce qui obligé de faire une boucle et de lire 204 fois la liste des fichiers (17ans X 12mois), j'ai fais le déplacement directement
ATTENTION : la source ne doit pas être dans le même dossier que la destination
[code:1]# Créer les dossiers des années et des mois.
$dest = \"L:\test\\" # le chemin doit finir par \"\\"
2002..2018 | foreach {
$annee = $_
1..12 | foreach {
$mois = get-date \"01/$_/2000\" -format 'MMMM'
New-Item -Path \"$dest$annee\$mois$annee\" -ItemType \"directory\" | out-null
}
}
# Fichiers vidéos divers
$source = \"L:\\" # le chemin doit finir par \"\\"
# Création de variable dans laquelle je place mon tri sur date des mois
Get-ChildItem $source -File -Force -Recurse -Include *.avi, *.mp4, *.mpg, *.mov, *.mpeg | foreach {
$fichier = $_
$annee = $fichier.LastAccessTime.Year
$mois = get-date $fichier.LastAccessTime -format 'MMMM'
# Déplacement des fichiers concernés dans le dossier ad hoc
move-item $fichier.FullName -Force -Destination \"$dest$annee\$mois$annee\"
}[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Michel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 7 ans 9 mois #25646
par Michel
Réponse de Michel sur le sujet Re:Lister et déplacer des fichiers
Merci beaucoup de ton aide,
Alors effectivement je n'ai jamais programmé avant, mais je m'y intéresse, je vais maintenant tester ce script et voir pour le comprendre et créer d'autres petit scriptS pour avancer et apprendre.
Je vais commencer per revoir la syntaxe parce que visiblement il y a des lacunes... mais bon, on n'est pas maitre en apprenant...
Bonne journée
Alors effectivement je n'ai jamais programmé avant, mais je m'y intéresse, je vais maintenant tester ce script et voir pour le comprendre et créer d'autres petit scriptS pour avancer et apprendre.
Je vais commencer per revoir la syntaxe parce que visiblement il y a des lacunes... mais bon, on n'est pas maitre en apprenant...
Bonne journée
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 7 ans 9 mois #25653
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Lister et déplacer des fichiers
Salut,
Bullebizarre écrit:
Bullebizarre écrit:
Je la retiens celle-là !mais bon, on n'est pas maitre en apprenant...
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.041 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Lister et déplacer des fichiers