2019年5月26日日曜日

会社で投資ブログを執筆するためのプラグラムを作成しました。

私が会社でブログを書いているというのは、
本ブログの定期的な読者さんなら存じ上げていらっしゃるはず。
(あっ、もちろん休憩時間だけですよ~ウンほんとほんとはいはい)


わざわざ家でブログ執筆とか無駄の極みですからね。
家でいる時はゲームだけしていたいじゃん?
それに私絵も描かなきゃだし…。


で、今まではメモに記載したブログ内容をメールでそのまま本文に添付して、
自宅のメールアドレスに送信していたわけなんですが。


実はそれだと勝手に改行が入ってしまうみたいなんですね。
どうやらメーラーによっては勝手に改行を入れるシステムがある様子。
それが解除不可能なため、意図しない改行が入ってしまい、文章の見栄えが悪くなってしまいました。
最近ちょっとブログ内容がおかしかったのはそのせいです…。


そのため、ブログ執筆したテキストファイルを、
Zipファイルに圧縮してそれをメールに添付する方法にすることにしました。


これだったらテキストファイルをそのまま送れるので、
いちいちテキストファイルの中身を開いてメールにコピペする必要もない。
いちいち解凍しなきゃいけないけどよっぽど楽でしょう。


と、言うわけで色々探してみたんですけど、
ウィンドウズの機能でもZipファイルって作成可能なので
これもコマンドプロンプトでできると思ってたんですが、
どうやらLhaplusとか7zipとかのフリーソフトを使わないと不可能な様子。
クソだね。


わざわざフリーソフトダウンロードしてまで
使うのはダルいなあ…そもそも会社のPCだし。


というわけで、必死に探し続けた結果、
どうやらbatファイルじゃなくてVbsファイルならZipファイルの作成が可能らしい!


InputFolder = "C:\some\where\srcDir" 'ZIPに収録するファイルのあるディレクトリ名
ZipFile     = "C:\some\where\dst.zip" 'ZIPファイル名

CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar)
Set objShell = CreateObject("Shell.Application")
Set source = objShell.NameSpace(InputFolder).Items
objShell.NameSpace(ZipFile).CopyHere(source)
wScript.Sleep 2000

(参照:フリーソフトを使わず超シンプルにコマンドラインでZIP形式のファイル圧縮)
http://funcs.org/1123


…わかりやすい!!!
上二行をそれぞれ適切に変更すればいくらでも応用可能です。
まあ言うなれば一行目がファイルの場所で二行目が作成されるZipファイルの場所と名前ですね。


しかもこれ、同ファイルがある場合は上書きも勝手にしてくれます。
いいね!


一応、他にもBatファイルなどでZip圧縮が可能なものもあったんですが、
これもなんか特別なプログラムのダウンロードが必要だったり、
そもそもいちいち「圧縮しますか?」とか、「パスワードはどうしますか?」
とか聞いてくるのばっかりだったんで使いづらくて不採用です。
(タスクスケジューラで毎日自動的にやるようにしてほしいしね)


…いや、ただこれ、パスワードがつかないんだよなあ…。


もし、例えば執筆したブログテキストが大量に詰まったファイルを、
間違えて客先や上司に送った場合はとんでもないことになる…。
大目玉確定だ…。
(言うまでもなくブログは何日かまとめてストックしたものを自宅に送っている)
(え、そんなリスク背負ってまでブログ書くなって…?へへへ…)


一応パスワードをつけて、
適当に個人的なファイル名にしておけば最悪の自体は避けられます。
それはやっておきたい。


…えー、例えば給与明細だとか、源泉徴収票とかいうファイル名にしておけば、
たとえ間違えて送ったとしても、私の個人的なファイルだと言うことで、
大目玉から小目玉くらいで済むだろうと。
それにパスワードしておけばなおさら大丈夫だろうと。そういう浅い考えがあるんです。
(ほんとそこまでリスク背負ってやるべきことか?)


ただこのVBSの中身を見る限りだと、もう私には完全にちんぷんかんぷんです。
パスワードを入力させるコマンドを入れるだけなら簡単そうなんですけど、
あいにく私は別にプログラマでもなんでもないので、無理です。
(そもそもVBSがなんだか分かってないんですよね…)


…じゃあ結局どうするかというと…、うん、。まあ。
Lhaplusダウンロードするしかないですよね…。


つーわけで、色々あって、Lhaplusダウンロードしてきました。
そしてそれを使ったコマンドを探して、自分なりにアレンジしたのがこれ。


@echo off

if not "%HOGE%"=="hoge" (
    set HOGE=hoge
    start /min cmd /c,"%~0" %*
    exit
)

del /q D:\AAA\Zipファイル

"C:\Program Files\Lhaplus\Lhaplus.exe"
 /c:zip /o:D:\AAA\ /p:パスワード
 D:\AAA\\Zipファイル



まあ上の何行目かは前書いた通り、
最小化状態でコマンドプロンプトを立ち上げるコマンド。


delってやつは上書きするためのやつです。
ようは以前作成したZipファイルはここで消されます。


そして一番下の行が、Lhaplusを使ったパスワード付きZipファイルの作成コマンドです。
Lhaplusのあるフォルダによって、「~\Lhaplus.exe」までの値はかわります。


これを毎日決まった時間にタスクスケジューラで起動させるようにしておけば、
自分が書いたブログテキストの数々がパスワード付きZipファイルに纏められるので便利。
まあパスワードは固定のままですが、この場合なら特に問題ないでしょう。


こう考えると、わりとコマンドプロンプトも限界多いですね~。
ウィンドウズ上でできることなら何でもできる、みたいに思ってたんですが、
パスワードが毎回ランダムにならないから、ちょっと業務でも使いづらいかも。
(もしかしたらできるのかもしれませんけど、調べるのも大変そうだ)


まあ私は結構現場仕事多いのでこんな程度の…
自分のブログを会社で書いて自宅に送るくらいにしか使えないんですけど、
皆様が業務に使えるようならぜひ。


う^~ん爆アド案件だ。
これもう私プログラマ名乗っていいですか?(どや顔)


ブログ村に戻るならこちらへドゾー↓
にほんブログ村 株ブログ インデックス投資へ にほんブログ村 ライフスタイルブログ セミリタイア生活へ にほんブログ村 株ブログ 米国株へ

4 件のコメント:

  1. やはりX勢でしたか…しかも、オールでしたか…
    ポストちゃんクラブラ使いなのか
    こちらXになったらあかつきには、是非フレンズになってくださいね
    いつになることやらですが

    返信削除
    返信
    1. いいゾ~これ
      でもX底辺だからあんまりSと変わらないゾ
      http://iup.2ch-library.com/i/i1993228-1558870711.jpg

      削除
  2. す…
    す、すごいす…
    ポストちゃん…

    こんなキラキラなの眩しいて
    目をあけれんでありまふ、





    返信削除
  3. カーリングに乗って

    イカ忍でスイーっと来られるのか
    神出鬼没が目に浮かびます。
    一発目当たった絶望感たるや、

    バニーサたんもスプラしてないかなぁ…
    バニーサたんもXだと思ってるんだ

    こちら同じような退屈な投資をしてるんで
    またコメントしにきます

    返信削除

【諸注意】誹謗中傷およびスパム・荒らしコメントのIPログは適宜記録され、必要に応じてブログ運営者によって警察に通報されます。