Question
Déplacement de fichiers en fonction de leur nom
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 13 ans 7 mois #12455
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Déplacement de fichiers en fonction de leur nom
Pour les courageux, il me semble possible de construire une fonction générique sur ce
modèle
:
[code:1]Foreach ( $Fichier in Get-ChildItem $Repertoire ) {
Switch ( $Fichier)
{
# {$true} { Write-Host \"Itération $($_.Name)\" }
{$_.Name -match \"ATX\"} { Move-Item -Path $_.FullName -Destination $Destination -whatif;Break}
{$_.Name -match \"APX\"} { Move-Item -Path $_.FullName -Destination $Destination -whatif;Break}
default {write-warning \"not match $_\"}
}
}[/code:1]
L'objectif étant de paramétrer à partir d'une hashtable des déplacement de fichiers.
[code:1]Foreach ( $Fichier in Get-ChildItem $Repertoire ) {
Switch ( $Fichier)
{
# {$true} { Write-Host \"Itération $($_.Name)\" }
{$_.Name -match \"ATX\"} { Move-Item -Path $_.FullName -Destination $Destination -whatif;Break}
{$_.Name -match \"APX\"} { Move-Item -Path $_.FullName -Destination $Destination -whatif;Break}
default {write-warning \"not match $_\"}
}
}[/code:1]
L'objectif étant de paramétrer à partir d'une hashtable des déplacement de fichiers.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- dimitri
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 0
il y a 13 ans 7 mois #12456
par dimitri
Réponse de dimitri sur le sujet Re:Déplacement de fichiers en fonction de leur nom
Bonsoir Laurent,
Merci d’interagir sur mon post, je ne comprends pas ce code:
[code:1]
cd $Repertoire
\"test\" > \"f1.atx\"
\"test\" > \"f1atx.txt\"
\"test\" > \"f2.atx\"
\"test\" > \"f2atx.txt\"
\"test\" > \"f1.apx\"
\"test\" > \"f1apx.txt\"
\"test\" > \"f2.apx\"
\"test\" > \"f2apx.txt\"
[/code:1]
Peux-tu m'éclairer ?<br><br>Message édité par: dimitri, à: 31/07/12 22:37
Merci d’interagir sur mon post, je ne comprends pas ce code:
[code:1]
cd $Repertoire
\"test\" > \"f1.atx\"
\"test\" > \"f1atx.txt\"
\"test\" > \"f2.atx\"
\"test\" > \"f2atx.txt\"
\"test\" > \"f1.apx\"
\"test\" > \"f1apx.txt\"
\"test\" > \"f2.apx\"
\"test\" > \"f2apx.txt\"
[/code:1]
Peux-tu m'éclairer ?<br><br>Message édité par: dimitri, à: 31/07/12 22:37
Connexion ou Créer un compte pour participer à la conversation.
- Nicolas Lang
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 31
- Remerciements reçus 0
il y a 13 ans 7 mois #12458
par Nicolas Lang
Réponse de Nicolas Lang sur le sujet Re:Déplacement de fichiers en fonction de leur nom
Laurent Dardenne écrit:
[code:1]Foreach ( $Fichier in Get-ChildItem $Repertoire ) {
Switch ( $Fichier)
{
# {$true} { Write-Host \"Itération $($_.Name)\" }
{$_.Name -match \"ATX\"} { Move-Item -Path $_.FullName -Destination $Destination -whatif;Break}
{$_.Name -match \"APX\"} { Move-Item -Path $_.FullName -Destination $Destination -whatif;Break}
default {write-warning \"not match $_\"}
}
}[/code:1]
Je me trompe peut être mais le fait de mettre -match \"ATX\" ne va pas déplacer tout ce qui contient ATX, et pas seulement ce qui débute par ATX?
[code:1]$_.name -like \"ATX*\" [/code:1]ne serait pas plus approprié?
[code:1]Foreach ( $Fichier in Get-ChildItem $Repertoire ) {
Switch ( $Fichier)
{
# {$true} { Write-Host \"Itération $($_.Name)\" }
{$_.Name -match \"ATX\"} { Move-Item -Path $_.FullName -Destination $Destination -whatif;Break}
{$_.Name -match \"APX\"} { Move-Item -Path $_.FullName -Destination $Destination -whatif;Break}
default {write-warning \"not match $_\"}
}
}[/code:1]
Je me trompe peut être mais le fait de mettre -match \"ATX\" ne va pas déplacer tout ce qui contient ATX, et pas seulement ce qui débute par ATX?
[code:1]$_.name -like \"ATX*\" [/code:1]ne serait pas plus approprié?
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 13 ans 7 mois #12459
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Déplacement de fichiers en fonction de leur nom
dimitri écrit:
Darum écrit:
Ce code crée des fichiers en utilisant l'opérateur de redirection.Peux-tu m'éclairer ?
Darum écrit:
Oui tu as raison. On peut aussi utiliser -Match \"^ATX\".[code:1]$_.name -like \"ATX*\" [/code:1]ne serait pas plus approprié?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- dimitri
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 0
il y a 13 ans 7 mois #12469
par dimitri
Réponse de dimitri sur le sujet Re:Déplacement de fichiers en fonction de leur nom
Merci à tous pour vos informations...
J'utilise ce code qui marche très bien et répond tout a fait à mon besoin:
[code:1]
Start-Transcript -path c:\MonFichier.log
move-item -path C:\test\ATX*.txt -destination C:\Rep1
move-item -path C:\test\APX*.txt -destination C:\Rep2
Stop-Transcript
[/code:1]
Seul problème, lorsque le script trouve un fichier et le déplace j'arrive pas à lui dire d'écrire dans le fichier.log.
A chaque fois il me crée un fichier avec comme info le début et la fin de l’exécution...
Le top du top serait de voir les fichiers déplacés dans le log, avez-vous une idée ?<br><br>Message édité par: dimitri, à: 3/08/12 16:05
J'utilise ce code qui marche très bien et répond tout a fait à mon besoin:
[code:1]
Start-Transcript -path c:\MonFichier.log
move-item -path C:\test\ATX*.txt -destination C:\Rep1
move-item -path C:\test\APX*.txt -destination C:\Rep2
Stop-Transcript
[/code:1]
Seul problème, lorsque le script trouve un fichier et le déplace j'arrive pas à lui dire d'écrire dans le fichier.log.
A chaque fois il me crée un fichier avec comme info le début et la fin de l’exécution...
Le top du top serait de voir les fichiers déplacés dans le log, avez-vous une idée ?<br><br>Message édité par: dimitri, à: 3/08/12 16:05
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 13 ans 7 mois #12470
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Déplacement de fichiers en fonction de leur nom
dimitri écrit:
Ajouter -Verbose sur les lignes d'appel à Move-Item.Le top du top serait de voir les fichiers déplacés dans le log, avez-vous une idée ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.074 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Déplacement de fichiers en fonction de leur nom