0

ファイルをftpからリモートに移動するスクリプトを1つ書いています。

コマンドプロンプトで実行している間は問題なく実行されますが、バッチスクリプトを作成しているときに正しく実行されず、最初にユーザーがログインしていないというエラーが表示されます。パスワードに特別な文字が含まれている可能性があります。コードは以下のとおりです。緊急の問題です。簡単な回答を探して、差分で pswd を指定しようとしました。ファイル。で試してみました ^^ 出力は正しいですが、エコーでのみ

私のパスワードは ^xinPS032 です

echo ^^caret^^

@Echo Off
setlocal EnableDelayedExpansion
Set _FTPServerName=ftp.us.benfieldgroup.com
Set _UserName=FtpTemp0013
Set _Password>ftpcmd.dat
echo quit>> ftpcmd.dat
Set _LocalFolder=FtpTemp0013
Set _RemoteFolder=D:\Informatica\9.5.0\server\infa_shared\BWParam
Set _Filename=*.zip
Set _ScriptFile=scrip
:: Create script
>"%_ScriptFile%" Echo ftp %_FTPServerName%
>>"%_ScriptFile%" Echo %_UserName%
>>"%_ScriptFile%" Echo %_Password%
>>"%_ScriptFile%" Echo lcd %_LocalFolder%
>>"%_ScriptFile%" Echo cd %_RemoteFolder%
>>"%_ScriptFile%" Echo binary
>>"%_ScriptFile%" Echo get %_Filename%
>>"%_ScriptFile%" Echo quit
:: Run script
ftp -s:"%_ScriptFile%"
Del "%_ScriptFile%"

エラーメッセージ

ftp> ftp ftp.us.benfieldgroup.com 無効なコマンドです。ftp> FtpTemp0013 無効なコマンドです。ftp> xiPS032Set _LocalFolder= 無効なコマンドです。ftp> lcd FtpTemp0013 FtpTemp0013: ファイルが見つかりません ftp> cd D:\Informatica\9.5.0\server\infa_shared\BWParam 接続されていません。ftp> binary 接続されていません。ftp> get *.zip 接続されていません。ftp>終了

4

1 に答える 1

0

最初のコマンドはopen. ftp>ftp スクリプトは、 「シェル」に直接入力しているかのように実行することを目的としています。その「シェル」内で、「ftp」ではなく「open」で接続を開始します。たとえば、次のようになります。

ftp> ftp ftp.adobe.com
Invalid command.
ftp> open ftp.adobe.com
Connected to ftpgen.wip4.adobe.com.
220-ftp.adobe.com
220-Adobe Systems, Inc.
于 2012-10-31T05:12:20.407 に答える