2015年09月27日
Tweet
社内にあるWebサーバーの特定のページを、1時間毎にダウンロードしたい。そういう案件がありました。
※なぜ。という部分については、しょーもないですが別記事にします。
当初他の人がやっていた内容では、ツールを使って、スケジュールを組むというものでした。あくまでその手法では個人なので、その人のPCがシャットダウンしている場合には、ツールは実行されません。
しかしサーバーでそのツールを実行させるのは、なんだか気持ちが悪いです。
だから、ツールを利用せずに、標準の機能だけでそれが実現できるのであれば、個人に依存していたその作業をサーバーで行うことができると考えたのです。
いくつか手法はあるようでした。
VBScript を利用する場合・・・今回はやっていません。
WEBのファイルをコマンドラインからダウンロードするスクリプト : httpget.vbs
bitsadmin コマンドを利用する場合・・・僕の環境ではうまくいきませんでした。
IEの代わりのブラウザをIEを使わないでインストールする
PowerShellを利用する場合・・・今回はこれを利用しました。
Windowsのバッチファイルやコマンドプロンプトでダウンロードする方法
.bat ファイルを記述し、ファイル名を日付にしたかったため、SETコマンドを利用しました。
そしてそのまま powershell から始まる行に通常のバッチファイルのように記載したら %% の箇所もうまく処理されました。
よかった。

※なぜ。という部分については、しょーもないですが別記事にします。
当初他の人がやっていた内容では、ツールを使って、スケジュールを組むというものでした。あくまでその手法では個人なので、その人のPCがシャットダウンしている場合には、ツールは実行されません。
しかしサーバーでそのツールを実行させるのは、なんだか気持ちが悪いです。
だから、ツールを利用せずに、標準の機能だけでそれが実現できるのであれば、個人に依存していたその作業をサーバーで行うことができると考えたのです。
いくつか手法はあるようでした。
VBScript を利用する場合・・・今回はやっていません。
WEBのファイルをコマンドラインからダウンロードするスクリプト : httpget.vbs
bitsadmin コマンドを利用する場合・・・僕の環境ではうまくいきませんでした。
IEの代わりのブラウザをIEを使わないでインストールする
PowerShellを利用する場合・・・今回はこれを利用しました。
Windowsのバッチファイルやコマンドプロンプトでダウンロードする方法
.bat ファイルを記述し、ファイル名を日付にしたかったため、SETコマンドを利用しました。
そしてそのまま powershell から始まる行に通常のバッチファイルのように記載したら %% の箇所もうまく処理されました。
よかった。