Question Supprimer un dossier sur un serveur FTP

Plus d'informations
il y a 10 ans 9 mois #20124 par THIBURCE
Bonjour,

J'ai un soucis avec mon code suivant :
[code:1]##Fonction qui supprime un dossier sur le serveur FTP
# $dossier : dossier à supprimer sur le serveur
# $user : utilisateur du FTP
# $password : mot de passe utilisateur
# $keepAlive : permet de savoir si on veut laisser la requête active -> il vaut mieux y mettre à false pour ne pas avoir de blocage et être sur que celle-ci soit terminée
# $usePassive : le serveur choisi un port sur lequel écouter le client FTP
# return : renvoi l'erreur généré si il y en a sinon renvoi une chaîne vide
function supprDossierFTP
{
Param(
[Parameter(Mandatory=$true)]
$dossier,
$user,
$password,
$keepAlive,
$usePassive
)

$msgErreur = \"\"
try
{
$uri = New-Object System.URI($dossier)
$makedir = [System.Net.FtpWebRequest]::Create($uri)
$makedir.Credentials = New-Object System.Net.NetworkCredential($user,$password)
$makedir.Method = [System.Net.WebRequestMethods+FTP]::RemoveDirectory
$makedir.KeepAlive = $keepAlive
$makedir.usePassive = $usePassive
$response = $makedir.GetResponse()
}
catch [Net.WebException]
{
$msgErreur = \"Erreur : Erreur de suppression du dossier $dossier : $_\"
}
finally
{
$response.Close() | Out-Null
return $msgErreur
}
}[/code:1]

Il me renvoi toujours l'erreur 550, fichier indisponible ou inexistant or le chemin du dossier est correct.

Est-ce qu'il y a une erreur ?

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

Plus d'informations
il y a 10 ans 9 mois #20151 par Philippe
Bonjour Riza

Riza écrit:

Bonjour,

J'ai un soucis avec mon code suivant :

Il me renvoi toujours l'erreur 550, fichier indisponible ou inexistant or le chemin du dossier est correct.

Est-ce qu'il y a une erreur ?


Je n'est pas trouvé d'erreur dans ton code,
l'erreur indique que le dossier n'existe pas je suppose que tu a vérifié !
mais le dossier a t'il été supprimé ?

les seules erreurs possibles sinon sont :
- le chemin passé en paramètre dans $dossier n'est pas bon : \"ftp://192.168.1.1//dossierbase/dossierAsupprimer\" avec deux \"//\" après le nom du serveur !
- le dossier n'est vide et ne peut être supprimé
tu a un exemple ici qui fait un contrôle pour créé l'uri et la suppression des fichiers dans le dossier.
A voir peut être de ce côté

j'ai fais un test rapide sans problème !!

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

Plus d'informations
il y a 10 ans 8 mois #20260 par Tony Thoumassin
Bonjour pour la connexion au ftp, j'utilise quelque chose de beaucoup plus simple, à savoir :
[code:1] $FTPRequest = New-Object System.Net.WebClient
$FTPRequest.Credentials = new-object System.Net.NetworkCredential($user, $password)[/code:1]
Après ce script me servais à faire de l'upload de fichier mais je pense (arrêtez moi si je me trompe) que cela doit être similaire pour faire de la suppression.

A propose de suppression, qu'utilises tu pour faire celle ci sur ton serveur FTP ? (personnellement j'utilise Remove-Item mais je ne le vois nul part ici ^^')

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

Plus d'informations
il y a 10 ans 8 mois #20393 par THIBURCE
Bonjour 6ratgus,

Comme tu le disais, le dossier n'étant pas vide la commande ne fonctionne pas.

PStagiaire, le WebClient sert pour l'envoi de données uniquement ^^

Désolé pour la réponse un peu tardive ^^<br><br>Message édité par: Riza, à: 8/07/15 12:32

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

Plus d'informations
il y a 10 ans 8 mois #20395 par THIBURCE
Pour la suppression tu doit utiliser les méthodes FTP tel que moi j'utilise ici RemoveDirectory pour cela il te faut utiliser le type WebRequestMethods+FTP :
msdn.microsoft.com/fr-fr/library/System....s.Ftp(v=vs.110).aspx

Et voici le WebClient :
msdn.microsoft.com/fr-fr/library/system....lient(v=vs.110).aspx

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

Plus d'informations
il y a 10 ans 8 mois #20396 par Philippe
Bonjour Riza

Riza écrit:

Désolé pour la réponse un peu tardive ^^

Merci d'avoir pris le temps pour cette réponse même tardivement

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

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