- - PR -
バッチ・スクリプトとftpコマンド
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-06-22 14:49
初めて投稿致します。
このサイトの、「スクリプトで使うftpコマンド」というTIPSに、 「Webサーバの稼働ログなどでは、日付をベースにしたファイル名などが使われていることが多い。このような場合は、例えばバッチ・ファイル中で、echoコマンドと%date%環境変数などを組み合わせてスクリプト・ファイルの内容を実行時に作成し、それを使うといった工夫が必要になるだろう。」 と書いてありますが、現在、まさにこの状況で、 具体的な方法を教えていただけないでしょうか。 よろしくお願いします。 | ||||
|
投稿日時: 2005-06-22 16:26
こんにちわ.
「具体的な方法」を知りたければ, 「具体的な内容」を書かないと誰も答えられません. それに,ここは教室ではないので, まずご自分でやってみて,「ここがうまくいかない」 という書き込みをされることをお奨めいたします. 何がわからないのか?くらいは書くのが最低限の作法かと. | ||||
|
投稿日時: 2005-11-21 13:27
現在、あるアプリケーションの吐き出す日付フォルダの下に作成されるファイルをftpのバッチ処理により日々自動的にバックアップを取ることを考えております。日付フォルダは、そのアプリが毎日その日の日付で作成します。
ftpでgetする際にどうしてもその日付がネックとなりフォルダの指定の仕方が分かりません。調べていると私と同じ悩みを抱えるmitumikaさんの質問がHITしました。 具体的に書きますと以下の通りとなります。 ftpauto.batというバッチファイルを作成し、以下のようにftpget.txtを呼び出し ftp -s:ftpget.txt>>ftp.log そのftpget.txtにてgetするフォルダにChange Directryしたいのですが、指定したいフォルダが毎日日付で変わるため、フォルダの指定方法に困っております。 日付フォルダの下は、毎日同じファイル名のファイルが保存されております。 ftpget.txtは以下の通りです。 -------------------- open 172.21.13.41 username password asc cd /ここに自動的に日付のフォルダを指定したいのです。 lcd C:\temp get filename disconnect bye 以上、よろしくお願い致します。 | ||||
|
投稿日時: 2005-11-21 13:53
%DATE%などを使ってスクリプトファイルを動的に作成し
(echo 〜〜 >>scriptfile.txt のようなコマンドをたくさん並べる)、 それをftpコマンドに渡せばよいと思います。 以下のようなTIPSもございますので、参考にしてください。 ・バッチ・ファイル中で日付をファイル名に使用する http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html ・曜日や日付によって処理を切り替える(BAT File) http://www.atmarkit.co.jp/fwin2k/win2ktips/280sw_week/sw_week.html ・OSの種類によってバッチ・ファイルの処理を切り替える方法 http://www.atmarkit.co.jp/fwin2k/win2ktips/267swchos/swchos.html ・タスク・スケジューラとWSHで定例処理を実現する http://www.atmarkit.co.jp/fwin2k/win2ktips/335tasksched/tasksched.html ・WSHで簡単なバックアップツールを作成する http://www.atmarkit.co.jp/fwin2k/win2ktips/334wsfbackup/wsfbackup.html [ メッセージ編集済み 編集者: Uchikoshi 編集日時 2005-11-21 13:55 ] [ メッセージ編集済み 編集者: Uchikoshi 編集日時 2005-11-21 14:00 ] | ||||
|
投稿日時: 2005-11-21 17:19
Uchikoshi様
早速のご回答ありがとうございます。 もうひとつ教えてください。 >>%DATE%などを使ってスクリプトファイルを動的に作成し >>(echo 〜〜 >>scriptfile.txt のようなコマンドをたくさん並べる)、 >>それをftpコマンドに渡せばよいと思います。 ftpコマンドに渡すにはどのようにすればよいのでしょうか? ftp中にscriptfileを読み込ませることができるのでしょうか? 宜しくお願い致します。 | ||||
|
投稿日時: 2005-11-21 17:54
wshを使ったほうがいいと思いますよ
| ||||
|
投稿日時: 2005-11-21 20:20
[quote]
Heroさんの書き込み (2005-11-21 17:19) より: >>%DATE%などを使ってスクリプトファイルを動的に作成し >>(echo 〜〜 >>scriptfile.txt のようなコマンドをたくさん並べる)、 >>それをftpコマンドに渡せばよいと思います。 ftpコマンドに渡すにはどのようにすればよいのでしょうか? ftp中にscriptfileを読み込ませることができるのでしょうか? [/quote] バッチファイル中でスクリプトファイルを毎回「作成」し、それをftpに渡すだけです。 例: echo open 172.21.13.41 > %tmp%¥script.txt echo username >> %tmp%¥script.txt echo password >> %tmp%¥script.txt echo asc >> %tmp%¥script.txt echo cd %date:~0,4%%date:~5,2%%date:~8,2% >> %tmp%¥script.txt echo lcd C:¥temp >> %tmp%¥script.txt …… ……(以下省略)…… …… ftp -s:%tmp%¥script.txt みたいなのでいいのでは? [ メッセージ編集済み 編集者: Uchikoshi 編集日時 2005-11-21 20:22 ] | ||||
|
投稿日時: 2005-11-22 12:30
Uchikoshi様
以下の通りやってみたところうまくいきました。 >>例: >>echo open 172.21.13.41 > %tmp%¥script.txt >>echo username >> %tmp%¥script.txt >>echo password >> %tmp%¥script.txt ……(以下省略)…… >>ftp -s:%tmp%¥script.txt 助かりました。ありがとうございます。感謝感謝です。m(_ _)m 明智重蔵様 WSHについても勉強してみたいと思います。 皆様ありがとうございました。 |
1