共有の取得部分は、Select * from Win32_Share で取得できます。それらをコマンドプロンプトで見やすく表示させる為の関数を定義しています。1) Crun : cscript.exe での実行の強制( コマンドプロンプトへの切り替え ) 2) Dd : 文字列の処理 3) RpadB : 文字列整形用 4) ByteLen : RpadB 用
Call Crun() ' ************************************** ' 共有一覧(WMI) ' ************************************** Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colShares = objWMIService.ExecQuery("Select * from Win32_Share") Wscript.Echo "【共有一覧】" Wscript.Echo "----------------------------------------------------" For Each Share In colShares Wscript.Echo RpadB(Share.Name, " ", 20) & " : " & Share.Path Next ' ********************************************************** ' Cscript.exe で実行を強制 ' Cscript.exe の実行終了後 pause で一時停止 ' ********************************************************** Function Crun( ) Dim str,WshShell str = WScript.FullName str = Right( str, 11 ) str = Ucase( str ) if str <> "CSCRIPT.EXE" then str = WScript.ScriptFullName Set WshShell = CreateObject( "WScript.Shell" ) strParam = " " For I = 0 to Wscript.Arguments.Count - 1 if instr(Wscript.Arguments(I), " ") < 1 then strParam = strParam & Wscript.Arguments(I) & " " else strParam = strParam & Dd(Wscript.Arguments(I)) & " " end if Next Call WshShell.Run( "cmd.exe /c cscript.exe " & Dd(str) & strParam & " & pause", 1 ) WScript.Quit end if End Function ' ********************************************************** ' 文字列を " で囲む関数 ' ********************************************************** Function Dd( strValue ) Dd = """" & strValue & """" End function ' ************************************** ' 文字列の右側をスペースで埋める ' ************************************** Function RpadB( strValue, str, nLen ) Dim strWork,nLen2 strWork = Left( strValue & String(nLen,str), nLen ) nLen2 = nLen Do While ByteLen( strWork ) > nLen nLen2 = nLen2 - 1 if nLen2 <= 0 then Exit Do end if strWork = Left( strValue & String(nLen,str), nLen2 ) Loop RpadB = strWork End function ' ************************************** ' 漢字と半角での横幅の計算 ' ************************************** Function ByteLen( strTarget ) Dim i,nLen,nRet,strMoji,nAsc nRet = 0 nLen = Len( strTarget ) For i = 1 to nLen nRet = nRet + 2 strMoji = Mid( strTarget, i, 1 ) nAsc = Asc( strMoji ) if &H0 <= nAsc and nAsc <= &H80 then nRet = nRet - 1 end if if &HA0 <= nAsc and nAsc <= &HDF then nRet = nRet - 1 end if if &HFD <= nAsc and nAsc <= &HFF then nRet = nRet - 1 end if Next ByteLen = nRet End Function
全く同じ処理を以下の短いコードでも実行できます(関数を WEB 上に置いています)
<JOB> <SCRIPT language="VBScript" src="http://lightbox.in.coocan.jp/laylaClass.vbs"></SCRIPT> <SCRIPT language="VBScript"> ' *********************************************************** ' 処理開始 ' *********************************************************** Call laylaFunctionTarget( "http://lightbox.in.coocan.jp/" ) Call laylaLoadFunction( "baseFunction.vbs" ) Call Crun() ' ************************************** ' 共有一覧(WMI) ' ************************************** Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colShares = objWMIService.ExecQuery("Select * from Win32_Share") Wscript.Echo "【共有一覧】" Wscript.Echo "----------------------------------------------------" For Each Share In colShares Wscript.Echo RpadB(Share.Name, " ", 20) & " : " & Share.Path Next </SCRIPT> </JOB>
|
【VBScriptの最新記事】
- Windows 標準の CDO.Message で(GmailまたはYahoo!メールを使って)簡単にバッチ処理からメールを送る
- バックアップスクリプトを作るスクリプト
- バッチ処理の為の .wsf スケルトン / cscript.exe での実行を強制する / 自分自身の呼び出し
- 【VBS】WshShell.Runによる外部プログラムの実行のバリエーションと注意事項
- 【VBS + Excel】シンプルな詳細設計書のフォーマット。1) Excel のダウンロード、2) VBScript で作成するサンプル
- VBScript : CAPICOM を使った通常文字列の Base64エンコードと SHA1 と MD5 と SHA256/384/512
- 【VBS汎用】SHIFT_JISデータを各種キャラクタセットのテキストファイルへ変換
- VBScript : デスクトップの列挙
- Excel シートから Basp21 を使用してメールの送受信をして、今後の何かに役立てる
- VBScript + clipコマンド + レジストリ登録で、エクスプローラのディレクトリの右クリックでファイル名のリストをクリップボードにコピーできるようにする
- VBScript(WMI) : OSの情報をコマンドプロンプトに一覧で表示する
- IE のお気に入りディレクトリにあるファイルの表示・非表示を設定する / HTA(HTML アプリケーション)
- VBScript : ディレクトリ内のディレクトリで使用している容量一覧
- VBScript(WMI) : システム環境変数の変更を監視する event_change_reg.wsf
- VBScript : スクリプトが存在するディレクトリをユーザ環境変数の PATH へ登録
- VBScript で GUID 生成
- XMLファイルの書き換え (VBScript)
- VBScript から実行する PHPコードの PDF処理のサンプル
- Cscript.exe の引数と、Windows Script Host を無効にするレジストリ設定
- Access.Application ( docmd.TransferText ) でエクスポートとインポート