Home > ブログ > ANS-9010の自動セッティング

ANS-9010の自動セッティング

ans_9010_2

ANS-9010を作業用ディスクとして使う場合、ちと面倒なのが、システムを起動するたび、フォーマットやドライブレターの割り当てなどの作業をする必要があることです(特に自分の場合、作業用と割り切って写真のようにバッテリを取り外してあるので)。

そういう作業を自動化してみました。

以下の方法で、

  • デバイス名にANS9010が含まれている
  • ANS-9010のディスク番号に変更がない

場合のみ、パーティション作成、ディスクのフォーマット、ドライブレター割り当てなどをオートで実行させることができます。バッチファイルのみのディスク番号決め打ちでフォーマットとかしたりするより安全なはず。動作確認環境はWindows XPです。

警告!
以下のスクリプトの利用は自己責任でお願いします。よく分からないまま使用した場合、別のHDDをフォーマットするなど壊滅的な損害を被る場合があります。

テキストファイルで以下の3つのファイル 1 「setANS.vbs」、「comANS.bat」、「dpScript.txt」を作成し、適当なフォルダに保存します。ANS-9010/Bのディスク番号の部分は、コントロールパネルの「管理ツール」→[コンピューターの管理]-[記憶域]-[ディスクの管理]のところで表示されるANS-9010/Bのディスク番号を設定します。ここを間違えると別のディスクを処理してしまって取り返しがつかなくなる場合があるので注意。

setANS.vbs
Option Explicit
Dim ANSDriveNum
ANSDriveNum = ANS-9010/Bのディスク番号
Dim objWMIService, colDiskDrives, objDiskDrive
Dim objWshShell
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objWMIService = GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colDiskDrives = _
objWMIService.ExecQuery("Select * from Win32_DiskDrive")
For each objDiskDrive in colDiskDrives
If InStr(objDiskDrive.Model,"ANS9010") And (Right(objDiskDrive.DeviceID, 1) = ANSDriveNum) Then
objWshShell.Run("comANS.bat")
End If
Next
comANS.bat
diskpart /s dpScript.txt
format Z: /FS:ntfs /V:ANS9010 /Y /Q
cacls.exe Z: /E /G Users:C
mkdir Z:\TEMP
dpScript.txt
select disk ANS-9010/Bのディスク番号
create partition PRIMARY
assign letter=Z

ドライブレターはここでは「Z」を割り当てています。変えたい場合はcomANS.bat、dpScript.txtの太字のZを全て書き換えてください。

ファイルの準備が出来たら、「コントロールパネル」→「タスク」のタスクマネージャで、「コンピュータ起動時」に「setANS.vbs」を実行するように指定します。使用しているANS-9010/Bが1ドライブで認識されている場合は以上の設定で問題なく使用できると思います。

ちなみにvbsスクリプトは、ハードディスク情報の抽出 1:ハードディスクの種類の判別:CodeZineのWSHによる実装の部分を元に組みました。

  1. ホントは1つのファイルに納めたかったんですが。方法を知ってる方いたら教えてください [ ]

Comments:3

たご 09-06-07 (日) 23:25

そのシステムが欲しいです(ニヤ)

haruno 09-06-08 (月) 23:45

純粋に作業ディスク用途だと、大容量メモリ積んで
ソフトウェアRAMディスク使った方がパフォーマンス的にも
コストパフォーマンス的にも優れてると思いますよ。

ECC機能があるんでデータ化けに強い?のと、ソフトウェアRAMディスクよりも
より大容量にできるという点で、自分はこれを試してみてますが。

匿名 13-03-17 (日) 12:48

重宝させていただいております
再起動時にドライブが消えない場合を想定して改編してみました
(ANSにかぎらず、i-RAMなどにも使えます)

Option Explicit
Dim strComputer
strComputer = “.”
Dim ANSDriveNum
ANSDriveNum = ディスク番号
Dim objWMIService, colDiskDrives, objDiskDrive
Dim objFileSys
Dim strDriveLetter
strDriveLetter = “Z” ’ドライブレター
Dim objDrive
Dim objWshShell
Set objWshShell = WScript.CreateObject(“WScript.Shell”)
Set objFileSys = CreateObject(“Scripting.FileSystemObject”)
Set objWMIService = GetObject(“winmgmts:” _
& “{impersonationLevel=impersonate}!\\” & strComputer _
& “\root\cimv2”)
Set colDiskDrives = objWMIService.ExecQuery _
(“Select * from Win32_DiskDrive”)
For each objDiskDrive in colDiskDrives
If InStr(objDiskDrive.Model,”i-RAM”) And objDiskDrive.Index = ANSDriveNum Then
If NOT(objFileSys.DriveExists(strDriveLetter)) Then
objWshShell.Run(“comANS.bat”)
End If
End If
Next

Comment Form

Home > ブログ > ANS-9010の自動セッティング

Return to page top