2011-02-02 12 views
2

ftpサイトのフォルダに送信するテキストファイルがあるコンピュータにあります。 誰かが私の名前とパスワードでFTPサイトにログインし、テキストファイルをコピーするバッチファイルのコードを私に見せることができますか?ファイルをFTPサイトにコピーするバッチファイル

ありがとうございました。

+0

はい、私は、Windows環境からの話をしています。議論のために、テキストファイルがC:\ textfile.txtであり、BACKUPS –

答えて

9

あなたは、Windowsのバッチのようにバッチを意味する場合は、次のスクリプトtst.cmdであることを行うことができます。

@ftp -n -stst.ftp myTargetMachine.com 

は、次のFTPコマンドファイルtst.ftp(実際のFTPサーバーの名前でmyTargetMachine.comを置き換え):

user myUser myPassword 
dir 
bye 

明らかに、あなたはmyUserとあなたの実際のユーザー名とパスワードを使用してmyPassword、ともdir wコマンドを交換する必要がありますなど、あなたが本当にやりたいものは何でも番目:

put localfile.txt /fullpath/remotefile.txt 

あなたはUNIXライクな環境の話をしている場合、スクリプトは次のようになります。FTPと

#!/bin/bash 
ftp -n myTargetMachine.com <<EOF 
    user myUser myPassword 
    dir 
    bye 
EOF 

同じ取引サーバー名、ユーザーIDとパスワードはもちろんです。


そして、あなたのコメントへの返信

はい、私は、Windows環境からの話をしています。議論のために、テキストファイルがC:\ textfile.txtであり、それをBACKUPSというフォルダ内のFTPサイトにコピーする必要があるとします。

transfer.cmdようなスクリプトを使用します。

@setlocal enableextensions enabledelayedexpansion 
@echo off 
c: 
cd \ 
ftp -n -stransfer.ftp myTargetMachine.com 
endlocal 

transfer.ftp

user myUser myPassword 
put textfile.txt /backups/textfile.txt 
bye 

あなたは、単一のファイルとしてWindowsのバージョンを望んでいた場合、あなたが使用することができます次のようなもの:

@echo off 
echo user myUser myPassword>tst.ftp 
echo dir>>tst.ftp 
echo bye>>tst.ftp 
ftp -n -s:tst.ftp myTargetMachine.com 
del /q tst.ftp 

tst.ftpを一時的に作成し、終了したら削除します。

+0

と呼ばれるフォルダのFTPサイトにコピーする必要があるとします。したがって、Windowsコンピュータ上に2つの別々のファイルがあります。 1つは「transfer.cmd」と呼ばれ、もう1つは「transfer.ftp」と呼ばれます。 –

+0

はい、Linuxは 'here-docs'(そのスクリプトの' EOF 'の項目を参照)で簡単な方法を提供しますが、それはWindowsではそれほど簡単ではありません。もしあなたがただ一つのスクリプトを必要としていたら、 'x.cmd'から' x.ftp'を一時的に作ることができます:更新を見てください。 – paxdiablo

+0

複数の行を一度に出力するには、複数の 'echo'呼び出しを括弧のブロックに入れます。一時ファイルを必要とせずにそれらを 'ftp'にパイプで渡すことはできませんでしたか?一行(コメント)には、 '(echo user myUser myPassword&echo dir&echo bye)| ftp ...' – Joey

1

コマンド:

ftp -n -sScriptName HostName 

、スクリプトで:

[User_id] 
    [ftp_password] 
    ascii 
    put myfilehere.html /remotedir/remotename.txt 
    quit 
関連する問題