忍者ブログ

Zip化するバッチとスクリプト

2023年04月11日
NASの検索性を向上させるために、
無駄に大きいテキストファイルやファイル数の多いフォルダは圧縮しておきたい。

今日は、フォルダをドラッグドロップしたらローカルにコピーして
Zip化して、ZipファイルをNASに置いて、NASのフォルダを削除する処理に着手。

ん!?

そういや最近ブログにアップしたよな。。。ない!!!


どうやら、テキストを書いただけで、UPし忘れてた。


以下、4/1に書いた内容。ソースがどうだったか思い出せない。。。




前に投稿した記事「PowerShellを使ったファイルのzip化」を見ていたらふと気になった。


コマンドプロンプトで簡単に作れるんじゃない?

で、ググったらいいサイトが見つかった。

コマンドプロンプトから PowerShell を実行する
https://qiita.com/ww24/items/7d52df13fef5bc54e149


さっそく試してみる。

set tPath="C:\Test\pingTest"
set fName="C:\Test\pingTest.zip"
powershell -Command Compress-Archive %tPath% %fName%


コマンドプロンプトを起動して、3行をコピペしたら無事にZip化成功。


コマンドプロンプトいけるならVBSもいけるんじゃね?

ググったらいいサイトが見つかった。

【VBScript】PowerShellのコマンドを実行する
https://syutaku.blog/vbscript-exec-powershell-cmd/


さっそく試してみる。

Option Explicit

dim tPath : tPath ="C:\pingTest"
dim fName : fName = tPath & ".zip"

' PowerShellのコマンド
dim psCmd : psCmd = "powershell -Command Compress-Archive """ & tPath & """ """ & fName & """"

' WSHオブジェクトの作成
Dim objShell
Set objShell = CreateObject("WScript.Shell")

' PowerShellコマンドの実行
objShell.Run "powershell -ExecutionPolicy RemoteSigned -Command " & psCmd, 0

' WSHオブジェクトの破棄
Set objShell = Nothing


どちらもネットで拾ったソースのPowerShellコマンド部分を変えただけ簡単に作れた。

Zipファイルを1つ作るならこれでもいいけど、
いっぱい作ろうと思ったら複数行のコマンドを用意して
powershellの呼び出しは1回で済ませた方が良さそう。
(試しに動かしてみたらいけた。)

VBScriptのソースコードファイルはこちら


PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字