2008-12-10 4 views
1

Je crée un script à la volée pour ftp certains fichiers d'un ordinateur distant. Je crée un fichier qui est ensuite appelé à partir de la ligne de commande avecComment spécifier les répertoires FTP source et de destination dans une tâche de script?

ftp -s:filename proxy 

où filename est le fichier que je viens de créer. Le fichier a un code semblable au suivant:

[email protected] address 
username 
prompt off 
binary 
cd c:\destination directory 
mget c:\source directory\*.* 
quit 

Cela ne fonctionne pas. Ce qui suit n'est pas non plus:

[email protected] address 
username 
prompt off 
binary 
cd c:\source directory 
mput c:\destination directory 
quit 

De toute évidence, je ne suis pas si bon à ftp. Comment, dans quel ordre, où dans mon fichier dois-je spécifier l'endroit où je veux que les fichiers soient placés (répertoire de destination, et aussi d'où le processus ftp est en cours d'exécution), et d'où je veux que les fichiers viennent (adresse IP ordinateur qui a des fichiers que je veux). Dois-je définir le répertoire avant de démarrer le processus ftp? Je l'exécute dans un paquet SSIS, et je n'utilise pas la tâche ftp de SSIS, parce que je ne veux pas d'échec si aucun fichier n'est trouvé. S'il n'y a rien, c'est cool. S'il y a quelque chose, je veux une copie.

(Il fonctionnait dans mon domaine de développement, et maintenant, quand j'essaye d'obtenir des fichiers d'un serveur auquel je n'ai vraiment pas accès, sauf ftp, je ne reçois rien. Voir How to avoid SSIS FTP task from failing when there are no files to download? pour un plus tôt, question connexe.)

Mise à jour: Les deux réponses ci-dessous, répertoriant lcd et cd, sont correctes. Cependant, mon exemple a encore échoué, jusqu'à ce que j'ai remplacé les barres obliques inverses par des barres obliques. En d'autres termes, mon dernier, le résultat de travail est la suivante:

[email protected] address 
username 
prompt off 
binary 
lcd /destination directory 
cd /source directory 
mget *.* 
quit 

Répondre

1

Dans la plupart des clients ftp, vous pouvez définir le répertoire de travail sur le serveur avec la commande cd, et que vous définissez le répertoire de travail sur le client la commande lcd.

Mais ce que vous essayez de faire n'est pas clair pour moi.

Etes-vous en train d'essayer de déplacer ou de copier des fichiers se trouvant sur le serveur FTP vers un autre emplacement sur le serveur ftp? Autant que je sache, vous ne pouvez pas faire ça avec ftp. Si vous souhaitez copier des fichiers d'un dossier sur le serveur ftp à un autre, alors je crois que vous obtiendrez une copie sur le système local, puis les réimporter dans un nouveau dossier. Si vous souhaitez déplacer des fichiers, vous pouvez utiliser la commande renommer.

+0

Non, j'essaie de copier des fichiers de l'ordinateur A vers l'ordinateur B en exécutant le script depuis l'ordinateur B. – thursdaysgeek

1

Êtes-vous à la recherche d'un écran LCD et d'un lecteur de CD lorsque l'écran LCD change de répertoire sur la machine locale? EG:

LCD c:\destination directory 
mget c:\source directory\*.* 
Questions connexes