- forum
- PowerShell
- Entraide pour les débutants
- Invoke-WebRequest en vue de la récupération de fichiers sur un serveur FTP.
Question
Invoke-WebRequest en vue de la récupération de fichiers sur un serveur FTP.
- JeSuisMoi
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 1 an 1 semaine - il y a 1 an 1 semaine #33584
par JeSuisMoi
Invoke-WebRequest en vue de la récupération de fichiers sur un serveur FTP. a été créé par JeSuisMoi
Bonjour,
Je tente de créer un script ayant pour finalités de :
1/ créer une arborescence;
2/ de récupérer des fichiers de données .csv sur un serveur FTP à placer dans cette arborescence.
Voici quelques lignes de code:
Dans la première ligne contenant Invoke-WebRequest, le fichier "PhotosPuky_2023-10-25-16-36.txt" est un exemple pris. Cela fonctionne bien à propos. Mais je souhaite récupérer dans ce serveur FTP seulement les fichiers .txt ou un fichier en particulier de même extension.
Exemple "*PhotosPuky*" pour seulement les fichiers dont l'entête commence comme tel. Je n'ai pas trouvé de solution. Ayant fait quelques recherches, je vois que l'on peut affiner le traitement avec Where-Object mais je n'ai pas réussi à trouver une piste.
Merci de votre aide.
Je tente de créer un script ayant pour finalités de :
1/ créer une arborescence;
2/ de récupérer des fichiers de données .csv sur un serveur FTP à placer dans cette arborescence.
Voici quelques lignes de code:
Write-Host "_________________________________________________" -ForegroundColor Green
Write-Host " SCRIPT RUNNING " -ForegroundColor Green
Write-Host "_________________________________________________" -ForegroundColor Green
Write-Host ""
$directory1="G:\service INFORMATIQUE 5IVE\BIKE OFFICE\IMPORT_FICHIERS"
$directory2="G:\service INFORMATIQUE 5IVE\BIKE OFFICE\IMPORT_FICHIERS\Matrices internes\MACROS_ESTEVEZ\V4"
$current_year=(Get-Date).year
$current_date=(Get-Date).year,(Get-Date).month,(Get-Date).day -join "_"
$supplier=Read-Host -prompt "Enter supplier's name with capital letters: "
New-Item -ItemType Directory $directory1\$current_year\$supplier\$current_date -ErrorAction SilentlyContinue
#Invoke-WebRequest -Uri ftp://login:mdp@ftp3.culturevelo.com/PhotosPuky_2023-10-25-16-36.txt -OutFile "G:\service INFORMATIQUE 5IVE\BIKE OFFICE\IMPORT_FICHIERS\Matrices internes\MACROS_ESTEVEZ\V5\PhotosPuky_2023-10-25-16-36.txt"
Invoke-WebRequest -Uri ftp://login:mdp@ftp3.culturevelo.com | select "*.txt"
#Invoke-Item ftp://login:mdp@ftp3.culturevelo.com/*PhotosPuky
Get-ChildItem -LiteralPath "G:\service INFORMATIQUE 5IVE\BIKE OFFICE\IMPORT_FICHIERS\Matrices internes\MACROS_ESTEVEZ\V5"
Write-Host "_________________________________________________" -ForegroundColor Green
Write-Host " SCRIPT TERMINATED " -ForegroundColor Green
Write-Host "_________________________________________________" -ForegroundColor Green
Dans la première ligne contenant Invoke-WebRequest, le fichier "PhotosPuky_2023-10-25-16-36.txt" est un exemple pris. Cela fonctionne bien à propos. Mais je souhaite récupérer dans ce serveur FTP seulement les fichiers .txt ou un fichier en particulier de même extension.
Exemple "*PhotosPuky*" pour seulement les fichiers dont l'entête commence comme tel. Je n'ai pas trouvé de solution. Ayant fait quelques recherches, je vois que l'on peut affiner le traitement avec Where-Object mais je n'ai pas réussi à trouver une piste.
Merci de votre aide.
Dernière édition: il y a 1 an 1 semaine par JeSuisMoi.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 1 an 5 jours #33591
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Invoke-WebRequest en vue de la récupération de fichiers sur un serveur FTP.
Bonjour,
Personnellement je n'arrive pas à récupérer quoi que ce soit depuis mon serveur FTP avec la commande Invoke-WebRequest. Mais j'ai pas eu le temps de trop comprendre pourquoi.
Voici en tout cas un morceau de code qui a marché pour moi et qui m'a récupéré tous les fichiers situés à la racine de mon serveur FTP :
Arnaud
Personnellement je n'arrive pas à récupérer quoi que ce soit depuis mon serveur FTP avec la commande Invoke-WebRequest. Mais j'ai pas eu le temps de trop comprendre pourquoi.
Voici en tout cas un morceau de code qui a marché pour moi et qui m'a récupéré tous les fichiers situés à la racine de mon serveur FTP :
# Spécifiez les informations de connexion FTP
$ftpServer = "ftp://exemple.com"
$ftpUsername = "votre_nom_utilisateur"
$ftpPassword = "votre_mot_de_passe"
# Créez l'objet FtpWebRequest pour la liste du répertoire
$request = [System.Net.FtpWebRequest]::Create("$ftpServer/")
$request.Credentials = New-Object System.Net.NetworkCredential($ftpUsername, $ftpPassword)
$request.Method = [System.Net.WebRequestMethods+Ftp]::ListDirectory
# Envoyez la demande et obtenez la réponse
$response = $request.GetResponse()
$reader = New-Object System.IO.StreamReader($response.GetResponseStream())
$listing = $reader.ReadToEnd()
# Affichez le contenu du serveur FTP
Write-Output $listing
# Fermez la réponse
$response.Close()
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- JeSuisMoi
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 1 an 4 jours - il y a 1 an 3 jours #33595
par JeSuisMoi
Réponse de JeSuisMoi sur le sujet Invoke-WebRequest en vue de la récupération de fichiers sur un serveur FTP.
Bonjour,
J'ai parcouru votre solution. Je prends en considération votre travail contribuant à mes recherches d'optimisation de mon travail d'automatisation.
Je vous en remercie.
Pour votre gouverne, la commande WGET en tant que client FTP dénué d'interface a un équivalent en POWERSHELL : Invoke-WebRequest.
Voici comment l'utiliser : cas d'un transfert de fichier d'un serveur FTP vers un dossier d'un autre serveur).
Invoke-WebRequest -Uri "ftp://login:passworld@ftp3.culturevelo.com/ART_SR20 AU15_SAVOYE.txt" -OutFile "G:\service INFORMATIQUE 5IVE\BIKE OFFICE\IMPORT_FICHIERS\Matrices internes\MACROS_ESTEVEZ\TRIALS\ART_SR20 AU15_SAVOYE.txt"
Cela fonctionne. Ne pas oublier de copier le nom du fichier assorti de son extension, comme vous le voyez ci-dessus, dans l'emplacement se trouvant dans le serveur FTP (dans le cas d'un transfert à partir d'un serveur FTP) puis dans le dossier de travail final sinon cela ne fonctionne pas.
Julien.
J'ai parcouru votre solution. Je prends en considération votre travail contribuant à mes recherches d'optimisation de mon travail d'automatisation.
Je vous en remercie.
Pour votre gouverne, la commande WGET en tant que client FTP dénué d'interface a un équivalent en POWERSHELL : Invoke-WebRequest.
Voici comment l'utiliser : cas d'un transfert de fichier d'un serveur FTP vers un dossier d'un autre serveur).
Invoke-WebRequest -Uri "ftp://login:passworld@ftp3.culturevelo.com/ART_SR20 AU15_SAVOYE.txt" -OutFile "G:\service INFORMATIQUE 5IVE\BIKE OFFICE\IMPORT_FICHIERS\Matrices internes\MACROS_ESTEVEZ\TRIALS\ART_SR20 AU15_SAVOYE.txt"
Cela fonctionne. Ne pas oublier de copier le nom du fichier assorti de son extension, comme vous le voyez ci-dessus, dans l'emplacement se trouvant dans le serveur FTP (dans le cas d'un transfert à partir d'un serveur FTP) puis dans le dossier de travail final sinon cela ne fonctionne pas.
Julien.
Dernière édition: il y a 1 an 3 jours par JeSuisMoi.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 1 an 3 jours #33596
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Invoke-WebRequest en vue de la récupération de fichiers sur un serveur FTP.
Salut,
La commande wget n'est pas native sous Windows. Tu travailles sur quelle plateforme ?
Arnaud
La commande wget n'est pas native sous Windows. Tu travailles sur quelle plateforme ?
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- JeSuisMoi
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 1 an 3 jours - il y a 1 an 3 jours #33597
par JeSuisMoi
Réponse de JeSuisMoi sur le sujet Invoke-WebRequest en vue de la récupération de fichiers sur un serveur FTP.
Monsieur,
J'utilise WINDOWS10, je ne suis pas habitué à utiliser LINUX. De surcroît, l'entreprise pour laquelle je travaille utilise WINDOWS. Il y a tout de même une salle dédiée à LINUX.
Julien.
J'utilise WINDOWS10, je ne suis pas habitué à utiliser LINUX. De surcroît, l'entreprise pour laquelle je travaille utilise WINDOWS. Il y a tout de même une salle dédiée à LINUX.
Julien.
Dernière édition: il y a 1 an 3 jours par JeSuisMoi.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 1 an 3 jours #33598
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Invoke-WebRequest en vue de la récupération de fichiers sur un serveur FTP.
Donc tu as installé wget...
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- forum
- PowerShell
- Entraide pour les débutants
- Invoke-WebRequest en vue de la récupération de fichiers sur un serveur FTP.
Temps de génération de la page : 0.109 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Invoke-WebRequest en vue de la récupération de fichiers sur un serveur FTP.