Forum Freedom-IP VPN

Forum d'entraide de la communauté Freedom-IP VPN

Vous n'êtes pas identifié(e).

#1 2015-06-08 20:34:11

Patrick1969
Membre
Inscription : 2015-01-23
Messages : 283

ligne de commandes

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"  cry
Si une âme charitable passait par là et pourrait me mettre la commande adéquat , se serait me
sauver de l'asile  smile
PS : Non je ne veux pas d'un logiciel client  , trop facile ... wink
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

#2 2015-06-08 21:51:25

ptit_poulet
Community Manager & Chef du support technique
Inscription : 2012-08-31
Messages : 3 102

Re : ligne de commandes


J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer devil

Hors ligne

#3 2015-06-08 22:24:42

Polizei
Membres de confiance
Inscription : 2013-12-27
Messages : 403

Re : ligne de commandes

Dernière modification par Polizei (2015-06-09 10:51:12)

Hors ligne

#4 2015-06-08 22:46:04

ptit_poulet
Community Manager & Chef du support technique
Inscription : 2012-08-31
Messages : 3 102

Re : ligne de commandes

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 devil devil devil

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 devil

Hors ligne

#5 2015-06-09 00:44:45

David
Bof !!!
Inscription : 2012-01-30
Messages : 6 132

Re : ligne de commandes

Hors ligne

#6 2015-06-09 12:21:37

Patrick1969
Membre
Inscription : 2015-01-23
Messages : 283

Re : ligne de commandes

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 ....  cry
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

#7 2015-06-09 12:33:02

David
Bof !!!
Inscription : 2012-01-30
Messages : 6 132

Re : ligne de commandes

RNFR <SP> <pathname> <CRLF>
RNTO <SP> <pathname> <CRLF>

Hors ligne

#8 2015-06-10 12:16:54

Patrick1969
Membre
Inscription : 2015-01-23
Messages : 283

Re : ligne de commandes

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 .... cry
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

#9 2015-06-26 12:30:21

Patrick1969
Membre
Inscription : 2015-01-23
Messages : 283

Re : ligne de commandes

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

#10 2015-06-26 13:31:51

ptit_poulet
Community Manager & Chef du support technique
Inscription : 2012-08-31
Messages : 3 102

Re : ligne de commandes

Bonjour,

Content de voir qu'avec Powershell ça avance un peu mieux cool

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 big_smile big_smile big_smile

Cordialement. ptit_poulet


J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer devil

Hors ligne

#11 2015-06-26 18:33:53

Patrick1969
Membre
Inscription : 2015-01-23
Messages : 283

Re : ligne de commandes


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

#12 2015-06-27 11:17:47

Patrick1969
Membre
Inscription : 2015-01-23
Messages : 283

Re : ligne de commandes

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

#13 2015-06-27 12:37:08

ptit_poulet
Community Manager & Chef du support technique
Inscription : 2012-08-31
Messages : 3 102

Re : ligne de commandes

Bonjour,

Franchement j'étais mort de rire en voyant la photo, ça brille en plus big_smile

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 wink


J'aime bien troller David toute la journée pour l’empêcher de s'ennuyer devil

Hors ligne

Pied de page des forums