dポイントプレゼントキャンペーン実施中!

コマンドプロンプト初心者です。

今回、同じファイルを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      
------------------------------

お手数ですが、ご教授いただけますと幸いです。

よろしくお願いいたします。

A 回答 (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
「コマンドプロンプトの繰り返し処理について」の回答画像1

この回答への補足

ご回答、大変ありがとうございます。

ちなみに「open lambda」とは何をするコマンドなのでしょうか。

また「echo user me +password+」の箇所は
ユーザーネームを「EEE」、パスワードを「FFF」とすると
echo EEE me +FFF+
という記述でよろしいでしょうか。

お手数ですが、ご教授いただけますと幸いです。

補足日時:2011/07/20 02:40
    • good
    • 0
この回答へのお礼

ご回答、大変ありがとうございます。

ちなみに「open lambda」とは何をするコマンドなのでしょうか。

また「echo user me +password+」の箇所は
ユーザーネームを「EEE」、パスワードを「FFF」とすると
echo EEE me +FFF+
という記述でよろしいでしょうか。

お手数ですが、ご教授いただけますと幸いです。

お礼日時:2011/07/23 21:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!