• 締切済み

コマンドプロンプトの繰り返し処理について

コマンドプロンプト初心者です。 今回、同じファイルをWebサーバー上の複数のフォルダにアップロードするバッチを組みたいのですが、「for」による繰り返し処理がうまくできません。 さらに具体的にいいますと「public_html/10」「public_html/11」「public_html/12」「public_html/13」それぞれに「AAA」というフォルダを作り、その中に「BBB.txt」というファイルをアップロードしたいのです。 なお、「public_html/10」に「AAA」というフォルダを作り、その中に「BBB.txt」というファイルをアップロードをおこなう、という一度だけの処理はできています。ですが、forを使い、繰り返し作業をおこなおうと試みるも、うまくいきません。 以下が作成したFTPコマンドです。 ------------------------------ open XXX.XX.XX.XX name password For /L %%a in(10,1,13) do ( cd /public_html/%%a mkdir AAA cd /public_html/%%a/AAA put C:\BBB.txt BBB.txt) EXIT       ------------------------------ お手数ですが、ご教授いただけますと幸いです。 よろしくお願いいたします。

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

FTPのコマンドと、バッチ(cmd.exe)のコマンドを混同してます。 FTPにはForはないので、バッチでFTPスクリプトファイルを作成するなどしてみては。 こんな感じ: ( echo open lambda echo user me +password+ for /L %%a in (10,1,13) do ( echo cd /public_html/%%a echo mkdir AAA echo cd /public_html/%%a/AAA echo put X:\BBB.txt ) echo quit ) >ftp.rc ftp -v -n -s:ftp.rc

nekoattack
質問者

お礼

ご回答、大変ありがとうございます。 ちなみに「open lambda」とは何をするコマンドなのでしょうか。 また「echo user me +password+」の箇所は ユーザーネームを「EEE」、パスワードを「FFF」とすると echo EEE me +FFF+ という記述でよろしいでしょうか。 お手数ですが、ご教授いただけますと幸いです。

nekoattack
質問者

補足

ご回答、大変ありがとうございます。 ちなみに「open lambda」とは何をするコマンドなのでしょうか。 また「echo user me +password+」の箇所は ユーザーネームを「EEE」、パスワードを「FFF」とすると echo EEE me +FFF+ という記述でよろしいでしょうか。 お手数ですが、ご教授いただけますと幸いです。