3流プログラマのメモ書き

元開発職→現社内SEの三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

VBScirpt,WSH,バッチ

(WSH)IEのJava2SSVアドオンを無効にするスクリプト

ユーザよりIE8でページ表示が遅いという問い合わせがあり、調査した結果アドオンの"Java(tm) Plug-In 2 SSV Helper"が原因であるということがわかりました。 これは、Javaのセキュリティチェックを行うプラグインのようですが、あまりに遅いのでとりあえず無…

robocopyでメールも送れるようにバックアップスクリプトを作ってみた

robocopy単体でも有用なツールなのですが、データのバックアップを運用するとなるとバックアップ失敗時にメールを送ってくれるようにしてもらうと楽になります。 一からスクリプト書くの面倒だなあと思ってググってたらrobocopy.exeを使ったWindows用バック…

(バッチ)メッセージボックスを表示したい

バッチファイル実行時に、ユーザに重要な情報を伝えたい時に、コマンドプロンプト画面内での表示ではインパクトが薄いのでメッセージボックスで表示したいと思いました。 以下のようにすれば、それが可能なようです。 echo "テストです" | msg 0 /w をつける…

(バッチ)32bitか64bitか判断する

バッチファイルで、今バッチを実行しているOSがx86(32bit)なのかx64(64bit)なのか判断したいと思いました。 で、ググると、バッチファイルで64ビットと32ビット違うコマンドを実行するにドンピシャな情報が。。 コピペですが、以下のバッチで判断できるよう…

(バッチ)今のユーザが任意のグループに属しているか調べる

バッチファイルを実行するユーザが、任意のローカルもしくはドメインのグループに属しているかを調べる方法です。 以下のようにすることで、調べることができます。 rem ローカルのAdministratorsグループに属しているか net localgroup Administrators | fi…

(バッチ)OSのバージョンとサービスパックの有無を調べる

バッチファイルで、Windowsのバージョンと、サービスパックの情報を取得する方法です。 幾つか方法はあるかと思いますが、Windowsのバージョンの取得判定はWindowsのバージョン毎に処理を分岐させる [コマンドプロンプト] - Diary on windを参考にさせてもら…

(バッチ)レジストリの値を取得し変数に格納

バッチファイルで、レジストリの値を取得して変数に入れるための方法です。 レジストリからの値の取得は reg query コマンドで出来るようです。/v の後に、キーの名前を指定します。 例えばFlashPlayerのバージョンを取得するには以下のようにします。 C:\>r…

(バッチ)ファイルフォルダの存在確認

バッチファイルで、ファイル・フォルダの存在確認を行う方法です。 EXIST で確認できるようですね。 参考先そのままですが、コードを掲載します。 SET filename="test.txt" IF EXIST %filename% (GOTO FILE_TRUE) ELSE GOTO FILE_FALSE :FILE_TRUE ECHO "フ…

(WSH)VBScriptでバイナリファイルのバージョンを取得したい

当初バッチファイルでバイナリファイル(exeとかdllとか)のバージョンを取得しようと思ってましたが、別途ツールをいけないらしく結構面倒そうでした。 (とりあえず,@IT:バイナリ・ファイルのバージョンを調べる、コンピュータ系blog:バイナリファイルのバー…

(VBScript)ネットワークドライブを張る方法

ネットワークドライブをコマンドで割り当てるで net use コマンドを使ってネットワークドライブを張る方法を描きました。 これを下記のようにVBScriptで実行することができます。(ユーザ名とパスワード指定) Dim objShell Set objShell = WScript.CreateObje…

VBScriptのModの結果は小数点以下を返さない!?

VBScriptで下記のようなコードを書きました。 MsgBox 1.5 Mod 1 しかし、表示されるのは 0 です。 本来なら、0.5 とならないといけないですが。。。 Mod 演算子を見たら驚愕の事実が。。 結果が浮動小数点数の時は整数に丸められるようですorz 整数かどうか…

VBScriptは型宣言ができない!?

VBScriptで下記のように書いてみました。 Dim str As String str= "hogehoge" MsgBox str すると、「ステートメントの末尾が不正です。800A0401」というエラーが。。。 下記のようにすると、うまく走りました。 Dim str str= "hogehoge" MsgBox str どうやら、…

VBScriptで配列宣言時に要素数を変数で指定したい

VB.NetやC系言語だと、下記のように配列宣言時に要素数を変数で指定できます。 Dim i As Integer i = 3 Dim ary(i) しかし、VBScriptだと配列宣言時に要素数を変数で指定できません。(VB6も?) なので、とりあえず空の配列を定義し、ReDimで要素数を変更する…

(WSH)VBScript(またはVB6)でAndAlsoをどうすればよいか?

VB.NetやC系言語,Javaでは論理演算子として AndoAlso,OrElse(VB.Net) , &&,||(C,Java) を一般的に使います。 AndAlso,&& は左辺を評価して false なら右辺は評価しません。 OrElse,|| は左辺を評価して true なら右辺は評価しません。 この演算子はショート…

(WSH)VBScriptでユーザが特定のグループに属しているかを判定する

ログインスクリプトで、特定のグループに所属するユーザだけ任意の処理をしたいという場合の判定方法です。 [ADSI] IADsGroup.IsMember メソッドを使ってユーザが特定のグループに所属してるかチェックしてみよう (VBScript / .NET Framework) というサイト…