'ftp' n'est pas reconnu en tant que commande interne...

'ftp' n'est pas reconnu en tant que commande interne... - Shell/Batch - Programmation

Marsh Posté le 31-10-2006 à 14:13:28    

Bonjour, voila lorsque je créer un programme avec comme seul et unique contenu:

Code :
  1. set /p host=Host ?
  2. ftp %host%


 
Alors que si je met ces lignes a la suite de mon programme, arrivé a ce endroit le programme me dit que 'ftp' n'est pas reconnu en tant que commande interne... Ce qui est stupide étant donnée que cette commande fonctionne très bien dans un fichier à part.
 
D'où pourrais venir ce "bug" ? :o

Reply

Marsh Posté le 31-10-2006 à 14:13:28   

Reply

Marsh Posté le 31-10-2006 à 14:20:28    

1. Y'a pas de shebang dans ton script
2. Avec quelle ligne de commande tu le lances ?

Reply

Marsh Posté le 31-10-2006 à 14:23:05    

Chaos Intestinal a écrit :

1. Y'a pas de shebang dans ton script


Je suis pas sous Unix

Citation :

2. Avec quelle ligne de commande tu le lances ?


Hum c'est à dire ? :??:  

Reply

Marsh Posté le 31-10-2006 à 14:26:59    

Quand je lance ton script bat, j'obtiens ça:
 

z:\>set /p host=Host ?
Host ?maurice
 
z:\>ftp maurice
Hôte inconnu maurice.
ftp>


 
Y'a un problème de path assez étrange. Mais j'ai pas la solution [:petrus75]

Reply

Marsh Posté le 31-10-2006 à 14:40:26    

Et maurice, il existe ?
 
Il a dû trop bouffer de danettes :spamafote:


Message édité par MagicBuzz le 31-10-2006 à 14:40:58
Reply

Marsh Posté le 31-10-2006 à 14:44:06    

En tout cas, si maurice répond pas, ton script marche quand on n'écrit pas le host comme un polio :ange:
 


Microsoft Windows [version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
 
C:\Documents and Settings\Administrateur>ftp -help
 
Transfère des fichiers vers et depuis un ordinateur avec un service
de serveur FTP activé (quelquefois appelé un démon : daemon).
Ftp peut être utilisé interactivement.
 
FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer]
    [-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [host]
 
  -v              Supprime l'affichage des réponses du serveur distant.
  -n              Supprime la connexion automatique au démarrage.
  -i              Désactive l'invite s'il y a plusieurs fichiers à transférer.
  -d              Active le débogage.
  -g              Désactive le globbing du nom de fichier (cf. commande GLOB).
  -s:NomFich      Spécifie un fichier texte contenant les commandes FTP ; ces
                  commandes seront automatiquement exécutées après le
                  démarrage de FTP.
  -a              Utilise n'importe quelle interface locale pour la liaison de
                  la connexion des données.
  -A              Connexion en tant qu'anonyme.
  -x:send sockbuf Remplace la taille SO_SNDBUF de 8192 par défaut.
  -r:recv sockbuf Remplace la taille SO_RCVBUF de 8192 par défaut.
  -b:async count  Remplace le compteur asynchrone de 3 par défaut.
  -w:TailleTamp   Remplace la taille par défaut du tampon de transfert de
                  4096.
  hôte            Spécifie le nom de l'hôte ou l'adresse IP de l'hôte distant
                  auquel se connecter.
 
Notes :
  - Les commandes mget et mput acceptent o/n/q pour oui/non/quitter.
  - Utilisez Ctrl+C pour interrompre les commandes.
 
C:\Documents and Settings\Administrateur>ftp maurice
Hôte inconnu maurice.
ftp> bye
 
C:\Documents and Settings\Administrateur>edit dtc.bat
 
C:\DOCUME~1\ADMINI~1>copy dtc.bat con
@echo off
echo Youpi tralala
set /p host=Serveur ?
ftp %host%
        1 fichier(s) copié(s).
 
C:\DOCUME~1\ADMINI~1>dtc.bat
Youpi tralala
Serveur ?ftp.microsoft.com
Connecté à ftp.microsoft.com.
220 Microsoft FTP Service
Utilisateur (ftp.microsoft.com:(none)) :
501 'USER ': Invalid number of parameters
Échec de l'identification.
ftp> bye
221 Thank you for using Microsoft products.
 
C:\DOCUME~1\ADMINI~1>

Reply

Marsh Posté le 31-10-2006 à 14:50:01    

Non, quoi que je tape comme commande commençant par "ftp" je reçois le meme message d'erreur :o

Reply

Marsh Posté le 31-10-2006 à 14:51:03    

sinon, sur ton PC, quand tu tapes "ftp" en invite de commande, ça donne quoi ?
 
parcequ'à la base, le client FTP n'est pas toujours installé de base sous Windows.
 
je crois qu'avec XP Home notament, ben c'est in-the-baba si on ne le met pas manuellement ensuite


Message édité par MagicBuzz le 31-10-2006 à 14:51:21
Reply

Marsh Posté le 31-10-2006 à 14:53:21    

Je vais me répeter:
La commande ftp marche très bien sur mon pc, mais celle ci ne fonctionne pas uniquement si je met ce code a la suite de mon programme, je reçois le messahe d'erreur 'ftp' n'est pas reconnu en tant que ...


Message édité par tx_js le 31-10-2006 à 14:53:31
Reply

Marsh Posté le 31-10-2006 à 15:00:43    

poste ton bat entier.
genre tu mets un liens vers un zip
 
parceque clairement, ça marche :o
 
ps : la variable HOST ne serait pas déjà utilisée par hasard ?

Message cité 1 fois
Message édité par MagicBuzz le 31-10-2006 à 15:01:38
Reply

Marsh Posté le 31-10-2006 à 15:00:43   

Reply

Marsh Posté le 31-10-2006 à 15:05:20    

MagicBuzz a écrit :

En tout cas, si maurice répond pas, ton script marche quand on n'écrit pas le host comme un polio :ange:


 
T'as eu du mal à comprendre la question, et à comprendre ma dernière réponse, manifestement. Bienvenue chez les polios.

Reply

Marsh Posté le 31-10-2006 à 15:09:00    

je croyais que ct lui qui avait posté ton post :o
 
j'avais mal lu, chuis polio des oeils en faiteuh :o
 
dans tous les cas, y'a une couille dans le potage, parceque ça devrait tomber en marche normalement :spamafote:

Reply

Marsh Posté le 31-10-2006 à 15:09:56    

(pis d'abors, t'as l'air malin avec ton "chie bang" :o)

Reply

Marsh Posté le 31-10-2006 à 15:10:56    

MagicBuzz a écrit :

(pis d'abors, t'as l'air malin avec ton "chie bang" :o)


 

Spoiler :

D'où le "bienvenue chez les polios", j'y étais déjà  [:dams86]

Reply

Marsh Posté le 31-10-2006 à 15:23:43    

MagicBuzz a écrit :

poste ton bat entier.
genre tu mets un liens vers un zip
 
parceque clairement, ça marche :o
 
ps : la variable HOST ne serait pas déjà utilisée par hasard ?


Je ne compte pas dévoiler totalement mon code source :ange:  

Code :
  1. :ftp
  2. echo.
  3. echo 1)Se connecter à un serveur ?
  4. set /p profil= Votre choix ?
  5. if %profil% == 1 goto connexion
  6. :connexion
  7. set /p host=Host ?
  8. ftp %host%
  9. pause


 
Non la variable host n'est pas déja utilisée.


Message édité par tx_js le 31-10-2006 à 15:33:35
Reply

Marsh Posté le 31-10-2006 à 16:04:13    

bah ça marche :spamafote:
 
par contre, à ta place, je tenterais déjà de remplacer ":ftp" par ":feuteupeu"
 
histoire d'être sur qu'il ne s'emêle pas les pinceaux. utiliser des mots réservés n'importe où c'est pas toujours une bonne idée ;)

Reply

Marsh Posté le 31-10-2006 à 19:42:12    

pareil ca ne fonctionne pas... je desespère :(

Reply

Marsh Posté le 31-10-2006 à 19:45:08    

bah là, sans plus d'infos, je vois pas du tout. certainement une merde à deux balles, mais il reste à savoir laquelle... :/
 
est-ce que tu touches à la variable PATH dans ton batch ?
comment lances-tu le batch ? T'as essayé depuis une console de commande ? (comme quand tu fais la commande à la main).

Reply

Marsh Posté le 31-10-2006 à 20:01:28    

En effet, j'avais une variable qui s'appelait path dans mon batch, jai renommé celle ci path0 et depuis tout fonctionne parfaitement :love: , un grand merci MagicBuzz  :jap:
 
et juste par curiosité...à quoi sert cette variable PATH ?

Message cité 1 fois
Message édité par tx_js le 31-10-2006 à 20:05:33
Reply

Marsh Posté le 31-10-2006 à 20:12:17    

tx_js a écrit :

En effet, j'avais une variable qui s'appelait path dans mon batch, jai renommé celle ci path0 et depuis tout fonctionne parfaitement :love: , un grand merci MagicBuzz  :jap:
 
et juste par curiosité...à quoi sert cette variable PATH ?


 
Elle indique au système à quel endroit il doit aller chercher les exécutables.
Quand tu tapes "ftp", il faut que le système retrouve ftp.exe (qui en l'occurence est dans Windows\System32\). Le path indique dans quels répertoires le système doit chercher pour retrouver les exécutables correspondant aux commandes. C'est le même principe sous Unix.

Reply

Marsh Posté le 31-10-2006 à 20:24:17    

Ok je comprends donc mieux pourquoi mon programme ne connaissait pas 'ftp'...
Encore merci pour votre aide :ange:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed