ExcelとbatでDisk容量チェック
ExcelのVBAとDOSコマンド"dir"と"find"を駆使して、Windows Serverの
Disk空き容量を確認及び記録するシステムを作りました。
--ファイルPath
D:\disk_check.xls このエクセルファイルから実行します。
D:\disk_check.bat 各サーバーの空き容量をdisk.txtへ書き出し
D:\disk.txt 出力ファイル
disk_check.bat
-----
@echo off
set USER-NAME=HogeUser
set PASSWD=hogehoge
set DRIVE=z:
set OUTFILE="D:\disk.txt"
set SERVER1=\\hoge_server01\group
set SERVER2=\\hoge_server02\group
set SERVER3=\\hoge_server03\group
if exist %DRIVE% net use /delete %DRIVE%
net use %DRIVE% %SERVER1% %PASSWD% /user:%USER%
dir %DRIVE% | find "バイトの空き領域" > %OUTFILE%
net use /delete %DRIVE%
net use %DRIVE% %SERVER2% %PASSWD% /user:%USER%
dir %DRIVE% | find "バイトの空き領域" >> %OUTFILE%
net use /delete %DRIVE%
net use %DRIVE% %SERVER3% %PASSWD% /user:%USER%
dir %DRIVE% | find "バイトの空き領域" >> %OUTFILE%
net use /delete %DRIVE%
echo. >> %OUTFILE%
time /t >> %OUTFILE%
date /t >> %OUTFILE%
exit
-----
disk_check.xls
-------------------------------
Private Sub CommandButton1_Click()
Dim myID As Double
myID = Shell("D:\disk_check.bat", vbNormalFocus)
End Sub
-------------------------------
Private Sub CommandButton2_Click()
Worksheets("calc").Activate
Workbooks.OpenText Filename:="D:\disk.txt", Origin:=932, StartRow:=1, _
DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(11, 1), Array(16, 1) _
, Array(33, 1), Array(49, 1)), TrailingMinusNumbers:=True
Windows("disk.txt").Activate
Worksheets("disk").Range("D1:D4").Select
Selection.Copy
Windows("disk_check.xls").Activate
Range("B4").Select
ActiveSheet.Paste
Windows("disk.txt").Activate
Worksheets("disk").Range("A6").Select
Application.CutCopyMode = False
Selection.Copy
Windows("disk_check.xls").Activate
Range("B2").Select
ActiveSheet.Paste
Windows("disk.txt").Activate
Worksheets("disk").Range("A7").Select
Application.CutCopyMode = False
Selection.Copy
Windows("disk_check.xls").Activate
Range("B1").Select
ActiveSheet.Paste
Windows("disk.txt").Activate
ActiveWindow.Close
Windows("disk_check.xls").Activate
Worksheets("Record").Activate
With Worksheets("Record")
.Range("A65536").End(xlUp).Offset(1, 0).Value = Worksheets("calc").Range("B1")
.Range("A65536").End(xlUp).Offset(0, 1).Value = Worksheets("calc").Range("B2")
.Range("A65536").End(xlUp).Offset(0, 2).Value = Worksheets("calc").Range("E4")
.Range("A65536").End(xlUp).Offset(0, 4).Value = Worksheets("calc").Range("E5")
.Range("A65536").End(xlUp).Offset(0, 6).Value = Worksheets("calc").Range("E6")
.Range("A65536").End(xlUp).Offset(0, 8).Value = Worksheets("calc").Range("E7")
End With
Worksheets("calc").Activate
End Sub
-------------------------------
「管理ツール」カテゴリの記事
- システム動作チェック Ultimate Boot CD(2013.06.09)
- リモート監視 OpenRM(2012.12.26)
- SP+メーカー MSセキュリティパッチDL(2012.06.09)
- Windows7 展開(6)(2011.05.17)
- Windows7 展開(5)(2011.05.12)
「Script」カテゴリの記事
- PsExec リモートインストール(2014.08.27)
- PowerShell学習支援ツール Script Browser & Script Analyzer(2014.05.12)
- 複数のサブフォルダ内のファイルを一括コピー(2013.06.12)
- Gmail 自動削除(2013.03.13)
- Proxy自動設定 pacファイル(2012.08.15)
「VBA」カテゴリの記事
- エクセル VBA 範囲指定(2009.10.16)
- エクセル VBA プリンタを指定して印刷(2009.04.24)
- エクセル VBA ピポットテーブルを作成(2009.04.17)
- エクセル VBA ファイル・フォルダの存在確認(2009.04.16)
- Excel VBA Tips (1)(2009.04.15)
「Excel」カテゴリの記事
- エクセル 文字列操作(2010.02.18)
- エクセル VBA ピポットテーブルを作成(2009.04.17)
- エクセル VBA ファイル・フォルダの存在確認(2009.04.16)
- Excel VBA Tips (1)(2009.04.15)
- Excel 翌月の指定日が土日・祝祭日だったら(2008.09.01)
The comments to this entry are closed.
Comments