2017-05-10 6 views
-1

私が試したスクリプトです。スクリプトのバグ修正に誰かが助けてくれましたか? FTPTest.batバッチスクリプトを使用したFTPアップロードの最新ファイル

ftp -i -s FTPCommands.txt > FTPLog.txt 

としてスクリプトを実行している私は、スクリプト内のディレクトリを呼んでいるが、550エラーコードがログに見られている。

FTPCommands.txt

open $hostname 
user $username 
$password 
latest_file=$(ls File_Name* | tail -1) 
binary 
dir=F:/home/user/myFolder 
cd $dir 
put $latest_file 
quit 

+0

「スクリプト」とは何ですか?どのようにそれを実行するのですか?ログを見せてください! –

+0

オープン$ホスト名 接続...... ユーザー$ユーザー名$のパスワード = F ディレクトリ認証220:/ホーム/ユーザー/ nyfolders latest_file = $(LS * FILE_NAME * |尾-1) 無効なコマンドを バイナリ CD $ dirを 550は は$ latest_file 無効なコマンド を置く無効sytempathは – Jeremiah

+0

編集質問を終了し、そこにエラーを追加 - 適切な形式で[Windowsのバッチファイルの – Todor

答えて

1

あなたのファイルには、FTPコマンドとシェルコマンドが混在しています。たとえば、4行目はパイプコマンドの出力に基づいて値を設定します(そのうちの1つはtailです)。これはFTPプロトコルでは可能ではありません。さらに、.bat拡張子と変数dirのパスで判断すると、これはWindowsで実行されています。

(batファイル内の)FTPコマンドリストファイルの外に変数を準備し、置き換えます。また、FTPはシェルセッションではなく、典型的な* nixコマンドを発行することはできません。

関連する問題