DateFolderCreateもアーカイブを用意したので ドゾ♪
DateFolderCreate.zip |
しっかし、エンコードファイル.vbeを、直接やり取りできないコトをすっかり忘却ってたよ^_^;
<そのまま使えるVBScript 日付 フォルダ 作成 自動化 複数 ルートフォルダ 指定可能>
DateFolderCreateもアーカイブを用意したので ドゾ♪
DateFolderCreate.zip |
FileBackupper.vbs と .vbe を、暫定で今使ってるままをうpしました。
ファイル/フォルダ右クリックのコンテキストメニューに、
[バックアップ作成]を追加する機能はまだ付いていない版です。
デキルコトは、対象ファイル/フォルダの名称を、
"[元FileName] yyyymmdd hhnnss.[拡張子]" に 変え、コピーを取るだけ。
実働のブツなので使えますが、未使用関数が載ったままになってたりと、
効率が悪い部分が残っています。
改訂版も後日うpするので、コノ分は、あくまで、参考までに・・・
FileBackupper.zip |
'***** ↓↓↓ScriptTitle↓↓↓ ********************************************************* |
このログは、コチラのログ も併読してください。 |
"[インストール先]\screnc.exe" "対象ファイル.vbs" "エンコード後のファイル.vbe" |
screnc.exe - エンコーダ本体 |
Const Enc = "C:\Program Files\Windows Script Encoder\screnc.exe" |
'***** ↓↓↓ScriptTitle↓↓↓ ********************************************************* |
VBSEncodeConnection.zip |
・・・検索ワード "おきつねさま" だけで載るようになった^_^; (70件圏内)
気まぐれで、以前シゴトで使ってたVBScriptとかの持ちネタを放出しだしたからか?w
そお云う引き出しなら まだまだあるのだがw♪
C++で作成してる別アプリが完了次第、
VBScriptでの日付処理最終版にとりかかる予定。
ただ思うに、C++で .NetFrameworkを利用して、
日付関連の文字列返すActiveXオブジェクトを組んだほうが効率良い様な気も・・・
シェアウェアなら似たようなのあるみたいだけど、
VisualBasic関数のラッパーDLL VBWRAP ver1.00 |
DateSerialがナイことに、さっき気がついた・・・
ナニをイマサラと云われそうだが、ソレもソノ筈、
'---------------------------------------- |
=iDateSerial(2009,3,0,"yyyy/mm/dd") |
'---------------------------------------- |
つか、VBSで無くとも応用できます、閏とか一切気にしなくてイイです。
今日の月の月末日は ってのは
n = Now() |
=DATEVALUE(YEAR(NOW())&"/"&MONTH(NOW())+1&"/1")-1 |
Dim nYear As Integer ,nMonth As Integer |
'---------------------------------------- |
元々Excel&AccessVBA使いが、以前、仕事の都合でVBScriptに手を出したので、移植モノも多いのデス。
なので、時折間違って、
Public Function |
VBScriptの.vbsファイルは、一部のセキュアアプリで実行が許可されないか、
実行確認画面をクリックする必要に迫られることがある。
(KingS●ft製のでヤラれたコトがある、数年前に・・・)
タスクで自動動作させたい向きには非常に厄介だ。
それらを避けたい場合は、.vbsファイルをエンコードして利用するコトで、
セキュアを維持しつつの自動化への解決となることが多い。
エンコード後の拡張子は .vbe
肝心のエンコーダは、 WindowsScriptEncoderと云うのが、
Microsoftサイトで配布(要認証)されているので、利用されたし。
ソースを読まれたくない場合などにも良いかと・・・w
Update 20090311 0300
ココのScriptも、以後のログにアーカイブ用意しました。 |
[指定したフォルダ] |
DateFolderCreate.vbe {対象フォルダ名{,対象フォルダ名} |
[スクリプトを起動したフォルダ] |
[指定したフォルダ] |
C:\Target,C:\Target\Target |
C:\Target |
C:\Target |
'***** ↓↓↓ScriptTitle↓↓↓ ********************************************************* |
いい加減、StyleSheetの宣言が鬱陶しくなってキタので、外部ファイル化した。
・・・って、単に今までのを集約して、テキストに貼っつけて、cssファイル作っただけなんだけどねw
ただ、自鯖上の各テストサイトの分、管理グダグダになってたのでスッキリした。
WMI呼び出しだけで済まそうと手を付けたC#が、1日程度で挙動を把握できたコトにチョーシづき・・・って、
得られた値は、レジストリにあるクロックアップ前のモノで、全く使い物にならなかったのだが・・・(;_;
・・・で、面倒を省みず、RDTSC命令を使うが為に、C++の敷居を跨いでしまったってのはマズかった・・・
なんか、ほぼ睡眠も取らずに獲り憑かれたように・・・ま、3日ほどで こいつも大体把握できたのでイイんだけどねw
しかしアレだね、C#やC++が使えると、デキるコトが格段に広がるのはイイんだケド、
後者なんてもうアレは、完全に人間向けでないでしょ、あの記述は・・・ ^_^;
しかも、同じ処理させるだけで、アレだけ多様な対象の列挙の仕方があるのか と、
ホンキで考え込んでしまったよ・・・
しかし、使ってみて更にMSのWindowsに対する手抜き具合を知った感があるね。
プロセッサのRDTSC命令の扱い1つ取っても そう思えるよ・・・
・・・てっきり、Winは、休止モードから回復した時に、全てのレジスタに元の値がセットされてしまって、
検出方法がないから、休止復帰のRUNレジストリキーがナイのかと思ってたら、サにアらず、
しっかり初期化されてましたよ・・・ Visたんトカもコノへん未拡張のままなのかな?
マシン重いと、休止モードに頼りたくなるよね~ww
つか、プロセッサ多コア時代に、クロックの取得がハードレベルでデフォサポートされてないってのはドウなの?
石メーカーも、もう少し考えてツクれよってハナシにならないか?
実際、OSサイドからパワーマネージしようと思ったら、クロックの正確な値を得るのに、
レジスタ上のticksが頼りって ちょっとね・・・ しかもコア毎に可変でしょ、イマドキの石って・・・
ナニが不満ってGeodeNX1750@14Wは、某著名CrystalCPUIDナシでは、フルクロックにならんのよコレが!
ソレを補う監視ツールを創りたかっただけなんだよね~ C#だのC++だのに手を出した理由って・・・
しかも環境が VSExpressEditionなモンだから、肝心の欲しい機能を含むALTが憑いてなくて使えんし・・・
ま 結局、無くても全然困らなかったけどねww
しかし、1000msec取得するだけのインターバルタイマまで自分で書かないとならないとは・・・
VBScriptより辛いかしらん(´ヘ`;)
Windows.Forms.Timerに逃げる(クロック表示フォームあるし)というのも手段なのだが、
フォーム(を完全に)非表示とか、フォーム無しVer.とかでも動作させたい場合にチト困る・・・
マシンがショボいと、イラんトコに神経使うのよコレが・・・
動画再生もイッパイ×2なのは仕方ナイとして、Adobe製品やMSOffice製品ですらカナりキツい・・・
ソレらを使うには、あの軽いCrystalCPUIDすら常駐させて置けないんだから、ドウにもナラん(-_-;)
まぁ、完成したらココとかに うpする(ソースのほう)と思うケド、機器依存激しいカモねwww
敢えて普及してるんだか してナイんだか判らん .NetFramework3.5を多用しようと目論んでいると云うΨ(`∀´)Ψ
・・・でも、基本的なモノしか描き込んでいない・・・そう、それは まるで、背景白い手抜き漫画のようなwww
・・・な、カンジだし、以外に大丈夫かな、カナ? ^_^;
コッチの商品▼って、照明としてもヨさげだけど、
超高輝度ELシート - 株式会社 海光社
原稿や写真フィルム確認向けのライトテーブルの代わりに向いてるような希ガス
・・・価格と寿命が折り合うかが疑問ではあるが^_^;
諸元情報中に
※発光色ホワイトは太陽光に当る場所に設置した場合、
紫外線の影響で赤色顔料が退色して少しづつ青味を帯びてゆきます。
とあるが、コレでは一般利用するにはムリがあるなぁ と思いつつ見てたら、
防湿ラミネートによる長寿命化
空気中の水分をの侵入を防ぐために積層フィルムでラミネートしています。
ともある、だったら、
●曲げられる必要があるなら
紫外線遮光フィルムを表層に貼る、ないし、同特性のあるラミネート材料を使う
●板状で使うなら
紫外線遮光透明塗料をコーティングする、ないし、紫外線遮光プラスチック板を表層に充てがう
と云った構造にするだけでも、劣化防止に効果が上がりそうなものだが、検討しなかったのだろうか?
最近の紫外線カット系商品の可視光透過率の高さは、
過去のモノとは比較にならない程 性能が向上しているのだが・・・
---------- update 200903080203 |
いちいち イマサラ感 炸裂させてくれるトコ多いよな~
「省電力」有機EL照明に進出 出光、13年めど 欧米で事業化検討 - FujiSankei Business i [ 20090303 ]
って、ホント今更、しかも検討とか云ってるし・・・ コレだからコッチ出のイナカ企業はよぅ・・・(´ヘ`;)
VB6.0やVisualStudio.NET(2k2)に触れていた過去から逃れるかの如く、
つい先頃までは、出来るコトは殆どをVBScriptでカタづけてきたのだが、
JavaScriptに触れたあたりから、創りたいモノに欲が出てしまい、
とうとう、処理可能な範疇を超えてしまったらしい・・・
已む無く、インストールはしてあったVisualBasic2k8に手を出したが、
どうやら更に足りなくて、VC++やVC#にまで食指が伸びてしまった・・・
つか、マシンスペックがアレなもんで、デバッグするだけで停まりそうなのだよ(|| ゚Д゚)
マトモな機材が揃うまでは関わりたくなかった開発環境だったのだが・・・
しかし作りたいのは、スペックの低さマトモじゃない機器向けなんだけどね(´ヘ`;)
日付の処理だけ、某Format関数を模してみた。・・・あくまで暫定版。
限られた指定方法で、要素を並べ替えられる程度しか機能しないが、
新たに曜日を要素として取得可能になっている。
書式)
iDTw({tDate}, {tNow}, {sFormat}, {dSplitter}, {tSplitter}, {dtSeparator}, Control) |
"S HNS YMD [W] HN" |
GetWeekday(YMD, wFormat, WeekdaysString, nDepth) |
'***** ↓↓↓ScriptTitle↓↓↓ ********************************************************* |
外部関数追加で、スプリット文字列に区切り文字 ~(チルダ)を不要にしてみた。
あと、バラバラに列挙してたスクリプトを、ファイルのままに張ってみたw
ただ、Tabが全部ツブれてしまうんだよね・・・
以下を、空のテキストファイルにコピペして、任意の名前に、拡張子.vbsをつければ動作します。
'***** ↓↓↓ScriptTitle↓↓↓ ********************************************************* |
lArray (strLetters, rArray) |
inArrays(tSources, strLimitters, arReturn) |
日付処理の続きを記述する前に、必須スクリプトなど1つ・・・
'----------------------------------- |
inArrays(tSources, strLimitters, arReturn) |
Const strWeekdays = "1:月:MON:Mon:Monday,2:火:TUE:Tue:Tuesday,3:水:WED:Wed:Wednesday,4:木:THU:Thu:Thursday,5:金:FRI:Fri:Friday,6:土:SAT:Sat:Saturday,7:日:SUN:Sun:Sunday" |
'文字列を代入 |
inArrays(tSources, strLimitters, arReturn) |
'------------------------------------ |
更に手抜きで使えるように・・・
って、曜日表示機能付きの別スクリプトを縮小したもの。
'------------------------------------ |
iDT ({dSplitter}, {dtSeparater}, {tSplitter}, Control) |
実行a) test = iDT() |
実行a) test = iDT(,,,0) |
実行b) test = iDT(,,,1) |
実行c) test = iDT("",,"",1) |
実行d) test = iDT("",,"",0) |
実行e) test = iDT("","","",0) |
実行f) test = iDT("*",,"*",1) |
Excelのシート上なら Text関数、VBA (VisualBasic for Application) なら Format関数、
VisualBasicシリーズなら・・・って、列挙するまでも無く、既存関数で可能な、全く必要のない処理なのだが、
VBScriptでは、ハナシが違ってくる。
そもそも、VBS(WSH WindowsScriptingHost 現WindowsScriptHost)は、古来w
日付処理すら内部に持たない動作環境だった・・・
わざわざ、Windowsのプロセスをオブジェクトとして呼び出して、ソコから取得していた時代がww
それが、あれよ×2 と拡張され、簡単に呼び出せるようになったまでは良かったのだが、
完全な書式指定処理は内包せず、システムの設定依存となってしまった・・・
ちょっと処理すれば、桁揃え程度は誰でも出来る記述だったが、イマイチ汎用性に欠いてしまう・・・
いろんなサイトで同様の処理が列挙されているモノの、
中々、関数として そのまま使え(流用でき)るのが みつからない・・・
ソコで、自分で書いてみた。
'------------------------------------ |
iDT (dSplitter,dtSeparater,tSplitter,Control) |
実行a) |
実行b) |
FormatDateTime(Date[,NamedFormat]) |
nD = FormatDateTime(Date(),0) |
実行) FormatDateTime(Now(),3) |
nS = ":" & Split(CStr(FormatDateTime(nX,3)),":")(2) |
実行) FormatDateTime(Now(),4) |
strHMS = FormatDateTime(nX,4) & nS |
strHMS = FormatDateTime(nX,4) & ":" & Split(CStr(FormatDateTime(nX,3)),":")(2) |
何故かJavaScriptで遊んでいたりw
自鯖のDDNS接続の更新確認をケータイから行えるよう、専用ページを配置しているのだが、
ソコに、ケータイブラウザでも走るデモとして、時計でも置いてやろうか と云うのが始まりだった。
・・・元々VBscript遣いだが、アレがケータイで走るとは、到底思えん(´ヘ`;)
似たような処理は結構多用するし、諦めてJSに手を付けることになったワケで・・・
で、2日ほど色々試行して、JSの身の振りようをあらかた把握したところw
ソコは上記の通りVBS遣い、JSなんて必要ない と思っていたのだが、使うと中々どうして、
こりゃ便利 ってカンジw
ただ、一長一短ではあるようで、JSで、繰り返しや複雑すぎる分岐、
量のある文字列処理などを行うものを、不用意にHTMLに組み込むと・・・ 実動で不得手なのは見て取れた(^_^;
一瞬、ウチの骨董端末がヤバいのかと思った(爆)が、参考にしていた数々のサイトでも
同様の評価が出てた・・・ (ひと安心)
また、当方では よく多用する、時間関連処理でも、
同じ結果を1/1000secレベルまで精度を上げて出そうとすると、かなり重くなって、
実用に耐えなくなってしまった・・・ のて端末のloliちゃんだと停まるコトもw
・・・何故かケータイだと、それなりに走るのだがww
単純分岐処理のモノだと、精度は落ちるが、のて機でも問題なく動く・・・
JSを使うなら、余程必要ない限り、複雑な構造にしないほうが無難なようだ。
VBSなら、文字列処理や 異常なくらい複雑な分岐を構成しても、
速度に不満は感じたコトは無かったが、環境依存度が高いし、
HTMLへの応用だと、出力方法が なんか回りクドいし・・・
まぁ、クライアントの環境に左右されるってだけでも考え物だけどね。
とは云え、便利なのを知ってしまったからにはアトには戻れないのが人情ってヤシで、
そうなると、WSHで、VBS/JS混在記述と云うのも、アリなのではと思いはじめてたりw
・・・IEを非標準扱いしてるヤシのコメとは思えんな・・・(-_-;)