LANで接続された2台のPCがあり、片方はPC1、もう片方はPC2という名前だったとします。
PC1はC:\testを共有フォルダとして設定済みで、PC2からはそのフォルダを参照できます。
この時、PC2からPC1の共有フォルダ内のファイルやフォルダを圧縮する場合、普通にやると水面下では以下のような処理が行われます。
1.PC1の共有フォルダからPC2に圧縮対象のデータが全てコピーされる。
2.PC2で圧縮したデータをPC1にコピーする。
合計サイズが小さいとか、ファイルやフォルダが少ない場合はこれでも問題ありませんが、大量のファイルを圧縮したい場合はネットワークでデータをやりとりする分のロスが大きくなってきます。
それを回避するスクリプトを作成しました。
2016年10月14日金曜日
2016年5月25日水曜日
[WSH]ZIPファイルを作成して、その中にファイルやフォルダを入れる[JScript]
ZIPファイルを作成して、その中にファイルやフォルダをコピーするプログラムのサンプル。
MS系のScriptingの神とも呼ばれる吉岡 照雄さんの作品を参考にさせていただきました。
なぜそのまま利用させてもらわないのかと言えば、私はVBScriptが苦手で、出来るだけJScriptを利用したいからです。。
最初にZIPファイルを作成してますが、何故コレでZIPファイルが出来るのか意味不明です。。
「アイテム数」はコピー完了確認用ループに入る前に毎回取得してますが、「for(i=0」のところでアイテム数=0にして、そのあとはインクリメントで完了確認ループ中のみ取得するようにした方が高速になるのでは?とか、
何かのトラブルでコピー完了確認のループが終わらない場合はフリーズしちゃう…とか、プログラムを見直して気になる点はありますが、今までコレを利用していて速度が気になったりフリーズしたりということが無かったので、そのままにしときます。
※右記のOSでのみ動作確認済み:Win7、XP
MS系のScriptingの神とも呼ばれる吉岡 照雄さんの作品を参考にさせていただきました。
なぜそのまま利用させてもらわないのかと言えば、私はVBScriptが苦手で、出来るだけJScriptを利用したいからです。。
最初にZIPファイルを作成してますが、何故コレでZIPファイルが出来るのか意味不明です。。
「アイテム数」はコピー完了確認用ループに入る前に毎回取得してますが、「for(i=0」のところでアイテム数=0にして、そのあとはインクリメントで完了確認ループ中のみ取得するようにした方が高速になるのでは?とか、
何かのトラブルでコピー完了確認のループが終わらない場合はフリーズしちゃう…とか、プログラムを見直して気になる点はありますが、今までコレを利用していて速度が気になったりフリーズしたりということが無かったので、そのままにしときます。
※右記のOSでのみ動作確認済み:Win7、XP
登録:
投稿 (Atom)