- PR -

バッチ・スクリプトとftpコマンド

1
投稿者投稿内容
matumika
会議室デビュー日: 2005/06/22
投稿数: 1
投稿日時: 2005-06-22 14:49
初めて投稿致します。

このサイトの、「スクリプトで使うftpコマンド」というTIPSに、
「Webサーバの稼働ログなどでは、日付をベースにしたファイル名などが使われていることが多い。このような場合は、例えばバッチ・ファイル中で、echoコマンドと%date%環境変数などを組み合わせてスクリプト・ファイルの内容を実行時に作成し、それを使うといった工夫が必要になるだろう。」
と書いてありますが、現在、まさにこの状況で、
具体的な方法を教えていただけないでしょうか。

よろしくお願いします。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-06-22 16:26
こんにちわ.
引用:

matumikaさんの書き込み (2005-06-22 14:49) より:

と書いてありますが、現在、まさにこの状況で、
具体的な方法を教えていただけないでしょうか。


「具体的な方法」を知りたければ,
「具体的な内容」を書かないと誰も答えられません.
それに,ここは教室ではないので,
まずご自分でやってみて,「ここがうまくいかない」
という書き込みをされることをお奨めいたします.

何がわからないのか?くらいは書くのが最低限の作法かと.
Hero
会議室デビュー日: 2005/11/21
投稿数: 3
投稿日時: 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

以上、よろしくお願い致します。
Uchikoshi
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 197
投稿日時: 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 ]
Hero
会議室デビュー日: 2005/11/21
投稿数: 3
投稿日時: 2005-11-21 17:19
Uchikoshi様
早速のご回答ありがとうございます。
もうひとつ教えてください。

>>%DATE%などを使ってスクリプトファイルを動的に作成し
>>(echo 〜〜 >>scriptfile.txt のようなコマンドをたくさん並べる)、
>>それをftpコマンドに渡せばよいと思います。

ftpコマンドに渡すにはどのようにすればよいのでしょうか?

ftp中にscriptfileを読み込ませることができるのでしょうか?

宜しくお願い致します。
明智重蔵
大ベテラン
会議室デビュー日: 2005/09/05
投稿数: 127
投稿日時: 2005-11-21 17:54
wshを使ったほうがいいと思いますよ
Uchikoshi
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 197
投稿日時: 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 ]
Hero
会議室デビュー日: 2005/11/21
投稿数: 3
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)