Forum d'entraide de la communauté Freedom-IP VPN
Vous n'êtes pas identifié(e).
Pages : 1
Bonsoir .
J'ai une petite question pour les adeptes de la ligne de commandes .
Je suis sous windows 8.1 en 32 bits . Pour me connecter à mon petit serveur ftp je passe par cmd .
A la racine du serveur j'ai 5 dossiers : Images , texte , mp3 , vidéo , plan .
Pour la création de dossiers , déplacement de dossiers je n'ai pas de souci .
Par-contre je m'arrache les cheveux pour trouver comment faire , pour copier un fichier par exemple ,
du dossier images vers le dossier texte ou peu importe , par exemple du dossier mp3 vers le dossier plan .
Tout ce que j'ai essayé jusqu'à présent me donne comme réponse "invalid command"
Si une âme charitable passait par là et pourrait me mettre la commande adéquat , se serait me
sauver de l'asile
PS : Non je ne veux pas d'un logiciel client , trop facile ...
D'avance merci , cordialement , Patrick
L'accès à ce forum reste un privilège et non un droit , n'oubliez pas que nous sommes une communauté et non pas un dû .
Hors ligne
J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer
Hors ligne
Dernière modification par Polizei (2015-06-09 10:51:12)
Hors ligne
Tu peux regarder du côté de l'option FXP qui permet de faire des transferts entre serveurs depuis un client sans que les données transitent via le client. Peut-être une piste à étudier.
Je vois que Polizei m'a oublié... ça se payera tout ça
EDIT : après si tu n'as pas de gros fichiers à copier/coller pas besoin de FXP si ta connexion est rapide.
Dernière modification par ptit_poulet (2015-06-08 22:52:08)
J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer
Hors ligne
Hors ligne
Bonjour .
Merci de vos diverses réponses et orientations .
Pas de formule magique malheureusement .... Comme le stipule David , la commande doit être implantée dans le serveur ,
du coup je comprend mieux le message "invalid command" .
Pas moyen non plus par un client ftp normal , vous avez raison Polizei . Mais effectivement la solution du "get" vers un dossier "temp" puis un
upload par "put" fonctionne très bien même , si cela est un peu plus contraignant . En ce qui concerne Powershell , encore un "truc" à m'arracher
ma dernière touffe ptit_poulet ....
Vous souhaite une agréable journée , cordialement , Patrick
L'accès à ce forum reste un privilège et non un droit , n'oubliez pas que nous sommes une communauté et non pas un dû .
Hors ligne
RNFR <SP> <pathname> <CRLF>
RNTO <SP> <pathname> <CRLF>
Hors ligne
Bonjour David .
La ligne de commande ( RNFR /mp3/file ) ( RNTO /plan/file ) ne fonctionne pas sous
mon éditeur de commande .
Cependant , bonne nouvelle , le déplacement fonctionne mais avec une autre ligne de commande .
La voici : ftp> rename " fichier.txt" "mp3/fichier.txt"
Voici l'exemple pour un fichier mais cela fonctionne aussi pour les dossiers .
Reste juste le vilain problème du copier/coller ....
Bonne journée , cordialement , Patrick .
L'accès à ce forum reste un privilège et non un droit , n'oubliez pas que nous sommes une communauté et non pas un dû .
Hors ligne
Dernière modification par Patrick1969 (2015-06-26 14:48:31)
L'accès à ce forum reste un privilège et non un droit , n'oubliez pas que nous sommes une communauté et non pas un dû .
Hors ligne
Bonjour,
Content de voir qu'avec Powershell ça avance un peu mieux
Pour le coup de main pas de soucis. Tu publies ça ici mais promis je t'aide que quand j'aurai une preuve que tu es bien chauve
Cordialement. ptit_poulet
J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer
Hors ligne
L'accès à ce forum reste un privilège et non un droit , n'oubliez pas que nous sommes une communauté et non pas un dû .
Hors ligne
bonjour .
Voici le script en question , il n'est pas de moi mais de Thomas Maurer .
J'ai copié le script dans un fichier .txt puis l'ai renommé en script1.ps1 et l'ai placé dans C:\
Ce script devrait me télécharger les fichiers contenus sur mon serveur dans "musique/nouveaudossier" vers mon pc dans c:\nouveau dossier.
Pour exécuter le script j'ouvre powershell en mode administrateur en me plaçant dans set-location c:\
Pour exécuter le script je procède ainsi : .\script1.ps1
Voici le script :
# Config
$Username = "tintin"
$Password = "milou"
$LocalFile = "C:\nouveau dossier\"
$RemoteFile = "ftp://localhost/musique/nouveau dossier"
# Create FTP Rquest Object
$FTPRequest = [System.Net.FtpWebRequest]::Create("$RemoteFile")
$FTPRequest = [System.Net.FtpWebRequest]$FTPRequest
$FTPRequest.Method = [System.Net.WebRequestMethods+Ftp]::UploadFile
$FTPRequest.Credentials = new-object System.Net.NetworkCredential($Username, $Password)
$FTPRequest.UseBinary = $true
$FTPRequest.UsePassive = $true
# Read the File for Upload
$FileContent = gc -en byte $LocalFile
$FTPRequest.ContentLength = $FileContent.Length
# Get Stream Request by bytes
$Run = $FTPRequest.GetRequestStream()
$Run.Write($FileContent, 0, $FileContent.Length)
# Cleanup
$Run.Close()
$Run.Dispose()
Voici le résultat :
PS C:\> .\script1.ps1
gc : Impossible de trouver une partie du chemin d'accès 'C:\nouveau dossier\'.
Au caractère C:\script1.ps1:15 : 16
+ $FileContent = gc -en byte $LocalFile
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\nouveau dossier\:String) [Get-Content], DirectoryNotFoundException
+ FullyQualifiedErrorId : GetContentReaderDirectoryNotFoundError,Microsoft.PowerShell.Commands.GetContentCommand
Exception lors de l'appel de «GetRequestStream» avec «0» argument(s): «Le serveur distant a retourné une erreur: (550)
Fichier non disponible (par exemple, fichier introuvable, accès impossible).»
Au caractère C:\script1.ps1:18 : 1
+ $Run = $FTPRequest.GetRequestStream()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WebException
Impossible d'appeler une méthode dans une expression Null.
Au caractère C:\script1.ps1:19 : 1
+ $Run.Write($FileContent, 0, $FileContent.Length)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Impossible d'appeler une méthode dans une expression Null.
Au caractère C:\script1.ps1:21 : 1
+ $Run.Close()
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Impossible d'appeler une méthode dans une expression Null.
Au caractère C:\script1.ps1:22 : 1
+ $Run.Dispose()
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Lorsque je copie le code directement dans powershell voici le résultat :
PS C:\> # Config
PS C:\> $Username = "tintin"
PS C:\> $Password = "milou"
PS C:\> $LocalFile = "C:\nouveau dossier\"
PS C:\> $RemoteFile = "ftp://localhost/musique/nouveau dossier"
PS C:\>
PS C:\> # Create FTP Rquest Object
PS C:\> $FTPRequest = [System.Net.FtpWebRequest]::Create("$RemoteFile")
PS C:\> $FTPRequest = [System.Net.FtpWebRequest]$FTPRequest
PS C:\> $FTPRequest.Method = [System.Net.WebRequestMethods+Ftp]::UploadFile
PS C:\> $FTPRequest.Credentials = new-object System.Net.NetworkCredential($Username, $Password)
PS C:\> $FTPRequest.UseBinary = $true
PS C:\> $FTPRequest.UsePassive = $true
PS C:\> # Read the File for Upload
PS C:\> $FileContent = gc -en byte $LocalFile
gc : Impossible de trouver une partie du chemin d'accès 'C:\nouveau dossier\'.
Au caractère Ligne:1 : 16
+ $FileContent = gc -en byte $LocalFile
+ ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\nouveau dossier\:String) [Get-Content], DirectoryNotFoundException
+ FullyQualifiedErrorId : GetContentReaderDirectoryNotFoundError,Microsoft.PowerShell.Commands.GetContentCommand
PS C:\> $FTPRequest.ContentLength = $FileContent.Length
PS C:\> # Get Stream Request by bytes
PS C:\> $Run = $FTPRequest.GetRequestStream()
Exception lors de l'appel de «GetRequestStream» avec «0» argument(s): «Le serveur distant a retourné une erreur: (550)
Fichier non disponible (par exemple, fichier introuvable, accès impossible).»
Au caractère Ligne:1 : 1
+ $Run = $FTPRequest.GetRequestStream()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WebException
PS C:\> $Run.Write($FileContent, 0, $FileContent.Length)
Impossible d'appeler une méthode dans une expression Null.
Au caractère Ligne:1 : 1
+ $Run.Write($FileContent, 0, $FileContent.Length)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
PS C:\> # Cleanup
PS C:\> $Run.Close()
Impossible d'appeler une méthode dans une expression Null.
Au caractère Ligne:1 : 1
+ $Run.Close()
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
PS C:\> $Run.Dispose()
Je suis vraiment complètement novice avec powershell , ayez donc svp un peu d'indulgence envers moi :8
Je vous remercie d'avance pour l'aide que vous m'apporterez , cordialement , Patrick .
L'accès à ce forum reste un privilège et non un droit , n'oubliez pas que nous sommes une communauté et non pas un dû .
Hors ligne
Bonjour,
Franchement j'étais mort de rire en voyant la photo, ça brille en plus
Pour commencer dans le script tu as :
$LocalFile = "C:\nouveau dossier\"
qui est associé à
$FileContent = gc -en byte $LocalFile
Sauf que Get-Content sert à lire le contenu d'un fichier et non d'un répertoire. D'ailleurs la variable s'appelle LocalFile donc fichier local et non répertoire local.
C'était comme ça dans le script que tu as récupéré ou c'est toi qui a modifié cette partie ?
J'ai édité ton post pour faire ressortir le code avec les balises qui vont bien
J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer
Hors ligne
Pages : 1