![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
FTPサーバーからCSVファイルをダウンロードしようとftpcmd.txtファイルに下記を記述しました。コマンドプロンプトではファイルの取得に成功しています。
open
server_name
password
get remote_file local_file
close
bye
問題は、この取得したファイルを差し替えるローカルPC側のリダイレクトの場所である[ログファイル名]の.batファイルの記述の仕方がわかりません。
ftp -s:ftpcmd.txt > [ログファイル名]←ログファイル名の記述方法
例えば、”C:¥”に置きたい場合はどのように記述すればよろしいのでしょうか?
よろしくお願いします。
ちなみに下記のHPを参考にして作成しました。
http://www.psytec.co.jp/tips/0102/
No.7
- 回答日時:
このbatが一連の流れの中の1つとしたら
ログファイルはあった方が良いと思います。
アバウトではありますが、ログを頼りに
その後の処理(エラーetc)の手助けとなると思うので。
この回答への補足
necomimi様、本当にありがとうございます。
ご察しの通り、このbatファイルは一連の作業の中で利用したいと思っています。
定期的に、サーバーからCSVデータを取得し、取得したデータをVBAで読み込もうと思っています。
そこで、度々で申し訳ないのですが、この.batファイルを自動起動させる方法として、
(1)ウインドウズのタスクマネージャーを利用して起動する
(2)VBAをタスクマネージャーで自動起動、自動実行して、.batファイルを起動する。
(1)は問題なく実行できるのですが、(2)の方法でVBAから.batファイルを呼び出すとファイルの起動はするのですが、データの取得ができません。
他のプログラムの実行中は、ms-dosではデーターの取得等ができないとかの制約があるのでしょうか???
また、上記のような問題点の手助けとして、ご指摘頂いたとおり、ログファイルを作ろうと思うのですが、データの書き出し方法の良いサイト等をご存知でしたら、お教え願えないでしょうか?(探しているのですがなかなか・・・)
重ね重ねで本当に申し訳ないですがよろしくお願いします。
No.6
- 回答日時:
以下の記述で、BATは動きません
--------------------
ftp サーバー名
ユーザー名
パスワード
get/putコマンド
close
quit
--------------------
最初の記述通りでtxtを作ってください
--------------------
open
サーバー名
ユーザー名
パスワード
get/putコマンド
close
bye
--------------------
この回答への補足
necomimi様、何度もありがとうございました。
お蔭様で、最後まで通りました。fileの取得もできました。
txtファイル内のgetでファイルを取得していれば、処理を自動化するための.batファイルで、[ログファイル名]の記載は不要ですよね。
最初にご指導いただいた意味がよくわかりました。最初の疑問も解決しました。
No.5
- 回答日時:
>MS-DOS ウインドウに表示されるのですよね?
そうです。
>等の記述はいらないですよね
そうです。
この回答への補足
necomimi様度々ありがとうございます。
ご指摘の通りLoginが上手くいっていないようです。
詳細は#4様の補足欄に記載させていただきました。
後、何をお伝えすべきでしょうか?
何卒よろしくお願いします。
No.4
- 回答日時:
まずツッコミから。
ログファイル名が.batである必要は無いと思います。
では本題。
ftpコマンドをBAT形式で記述するのであれば、BATファイルを作成して、中にFTPコマンドを書くのが判りやすいですし、コマンドプロンプトでの入力どおりに記述すればいいだけなので簡単です。
即ち、my_ftp.batというBATファイルを作成し、内容を以下の様に記述します。
ftp サーバー名
ユーザー名
パスワード
get/putコマンド
close
quit
これで作成したBATファイルをそのまま実行すればいいと思いますが、どうでしょうか?
もしログをリダイレクトしたければ、コマンドプロンプトから
my_ftp.bat > my_ftp_log.txt
なり指定して実行すればログも取得出来ると思います。
※単にftpコマンドのファイル指定方法が判らないので、BATでお茶を濁しているだけですが。(^^;
この回答への補足
chinensis 様早速のご回答ありがとうございます。
皆様のご指摘の通り、Loginが上手く設定されていないようです。
.batファイルを下記のように記述しなおして実行しました。
ftp サーバー名
ユーザー名
パスワード
get/putコマンド
close
quit
結果は、ユーザ名を入力するところでコマンドプロンプトが止まってしまいました。
値を手打ちで入力すると問題なく進みます。
ということは、ユーザー名等を記述する際に、何か必要なのでしょうか?
ちなみに止まってしまうコードは
C:\autocsv>ftp サーバー名
Connected to server_name
220 FTP server (Version wu-2.6.2(1) Tue Apr 25 17:46:43 2006) ready.
User(サーバー名:(none)): ←ここで止まります。
それと、最終的にはCSVファイルをダウンロードしたいです。
ですので、やはりリダイレクトが必要な気がするのですが・・・
よろしくお願いします。
No.3
- 回答日時:
ログの内容は実行された内容が記されてるだけなので
その内容ではユーザー名かパスワードが未入力か
間違っているのでLoginに失敗してる…としかわかりません。
記述が正しければ、batは正しく実行されるはずですとしか…
この回答への補足
necomimiさま、度々ありがとうございます。
失敗の原因がよく把握できず申し訳ございません。
初歩的な質問ですが、.batファイルに ftp -s:ftpcmd.txt とだけ記述して実行した場合、リダイレクトの記載がないので、MS-DOS ウインドウに表示されるのですよね?
つまり、表示されないということは、txtファイルの記載に間違いがあり、ご指摘の通りLoginに失敗しているとのことですね。
それと、ユーザー名やPWの記述の前に、特に
User:
Password:
等の記述はいらないですよね。。。
重ね重ね申し訳ございません。よろしくお願いします。
No.2
- 回答日時:
良くわかりませんが
user_nameは必要ないんでしょうか?
この回答への補足
necomimi様早速のご回答ありがとうございます。
あ、すいません、user_nameの記載必要です。
.txtファイル(オペレーションファイル)に
server_name
user_name
password
の順で記載してます。申し訳ございません。
ということなので、
ftp-s(オペレーションファイル名)>(ログファイル名)の
ログファイル名にはser_nameの記載は必要ないと思うのですが・・・
よろしくお願いします。
No.1
- 回答日時:
ftp -s:ftpcmd.txt >ftpcmd.logと記載して、ftpcmd.batファイルにして、C:\において、この.batをダブルクリックでいけると思いますが。
C:\***とフォルダを作って***の中に入れてされるほうが良いと思いますが。この回答への補足
aki567様早速のご回答ありがとうございます。
C:\aaaというフォルダーをつくって、その中に、.batファイルと.txtファイルを置いておけばいいのですよね。
.batファイルを上記のように
ftp -s:ftpcmd.txt >ftpcmd.log
記述しても、ftpcmd.txtファイルが複製されるだけで、
ftp> To Connected to server_name
open
server_name
220 FTP server (Version wu-2.6.2(1) Tue Apr 25 09:03:43 2006) ready.
User (server_name:(none)):
331 Password required for m-a-n-a2.
530 Login incorrect.
ftp> get /var/www/***/***/*** /***:.csv
530 Please login with USER and PASS.
530 Please login with USER and PASS.
ftp> close
221 Goodbye.
ftp> bye
(具体的なserver_nameとファイル名は伏せさせていただいてます)
という記述がされた新しいtxtファイルが作られるだけなのでが・・・
よろしくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- その他(コンピューター・テクノロジー) batファイルでPCの設定内容やプロパティーを取得したいのですが、コマンド1個で1ファイルとなるのを 2 2022/04/27 15:27
- PHP ファイルアップロードの上限を増やす 7 2023/06/23 12:50
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- UNIX・Linux bash のファイルの読み込み方についてご質問 3 2023/05/15 20:40
- その他(プログラミング・Web制作) バッチファイルでPCのモデル名を取得したい 1 2022/03/31 10:58
- AJAX RPA(PowerAutomate)の実装について 1 2023/07/31 13:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2台のPC間のデータ転送について
-
勝手にファイルが消えたり移動...
-
NTT フレッツVPNワイドで通信が...
-
イントラネット上のパソコンに...
-
FTPについておしえて下さい
-
一時的に使える無料のレンタル...
-
ftpアクセスとバイナリーモード...
-
ワード ある日突然 文書の表...
-
結局、ノートパソコンはいつ買...
-
CRAVING EXPLORERは安全ですか?
-
パソコンを、習うのはやっぱり...
-
iPhoneでav4と言うエ○サイトの...
-
Microsoft office 2010
-
Craving Explorerでニコニコ動...
-
ドライブレコーダーの記録を見...
-
法の改正前と改正後について
-
ビデオソフト
-
DVDから静止画を作る
-
パソコンを利用する人たちの愛着
-
HTTP POST送信のヘッダの書き方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2台のPCでRS-232C接続でファイ...
-
FTPソフト filezillaのキューフ...
-
CISCO上でtftp操作
-
ネットワーク上のコンピュータ...
-
勝手にファイルが消えたり移動...
-
社内ネットワークで、ログアウ...
-
WebサーバとFTPサーバってどう...
-
「共有違反」って?
-
遠い場所にある2台のPCを共有...
-
FTPクライアントソフト Wi-Fiだ...
-
ウェブサーバの統計で、リクエ...
-
外部のPC(たとえば学校)から...
-
WebサーバーとFTPサーバーの関...
-
mp3ファイルをメール送信したい...
-
共有ファイルが開けません
-
新たに設置する無線LANから、他...
-
宅ふぁいる便にかわる大容量デ...
-
有線LANルーターと無線LANAP で...
-
無料ストレージサービス(大容量)
-
2台のPC間のデータ転送について
おすすめ情報