Hey Guys,
Here's some poorly written VBS i put together to create 2 equal size partitions regardless of the hard drive size! I assign the partitions C&Z. I choose Z becuase i noticed D was used by the CD rom and it was causing trouble.
Here's the VBS to create the 2 paritions. Save it as "driver.vbs"
Option Explicit
Dim macer
Dim driveSize
Dim diskpartScript
Dim WshShell
macer = Replace(FindMac(),":","")
driveSize = FindDrive()
diskpartScript =(WriteFile(macer,driveSize))
Set WshShell = WScript.CreateObject("Wscript.Shell")
WshShell.Run "diskpart.exe /s " & diskpartScript,,True
'***********************************************************
'Find the size of the drive, convert to MB and divide by 2
'***********************************************************
Function FindDrive()
Dim strComputer
Dim objWMIService
Dim colItems
Dim objItem
Dim strSize
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive",,48)
For Each objItem in colItems
strSize = Int(((objItem.Size/1024)/ 1024) /2)
Next
FindDrive = strSize
End Function
'***********************************************************
'So hard to find the mac address!!!!!
'***********************************************************
Function FindMac()
Dim strComputer
Dim objWMIService
Dim colItems
Dim objItem
Dim strAdapterType
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter")
For Each objItem in colItems
Select Case objItem.AdapterTypeID
Case 0 strAdapterType = "Ethernet 802.3"
Case 1 strAdapterType = "Token Ring 802.5"
Case 2 strAdapterType = "Fiber Distributed Data Interface (FDDI)"
Case 3 strAdapterType = "Wide Area Network (WAN)"
Case 4 strAdapterType = "LocalTalk"
Case 5 strAdapterType = "Ethernet using DIX header format"
Case 6 strAdapterType = "ARCNET"
Case 7 strAdapterType = "ARCNET (878.2)"
Case 8 strAdapterType = "ATM"
Case 9 strAdapterType = "Wireless"
Case 10 strAdapterType = "Infrared Wireless"
Case 11 strAdapterType = "Bpc"
Case 12 strAdapterType = "CoWan"
Case 13 strAdapterType = "1394"
End Select
If (objItem.AdapterTypeID = 0 ) Then
FindMac = objItem.MACAddress
End If
Next
End Function
'***********************************************************
'This creates the text file. We'll use the mac address as the
'name. After we'll use diskpart to create the partitions
'***********************************************************
Function WriteFile (xMac,xSize)
Dim objFSO
Dim objTextFile
Dim objWMIService
Dim strComputer
Dim colServices
Dim path
Const FOR_READING = 1
Const FOR_WRITING = 2
Const FOR_APPENDING = 8
Const FOLDER_PATH = "T:\diskparts"
path = FOLDER_PATH & "\" & xMac & ".txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not((objFSO.FolderExists(FOLDER_PATH))) Then objFSO.CreateFolder(FOLDER_PATH)
Set objTextFile = objFSO.OpenTextFile _
(path, FOR_WRITING, True)
objTextFile.writeline "select disk 0"
objTextFile.writeline "clean"
objTextFile.writeline "create partition primary size=" & xSize
objTextFile.writeline "select partition 1"
objTextFile.writeline "active"
objTextFile.writeline "assign letter=c"
objTextFile.writeline "create partition primary"
objTextFile.writeline "select partition 2"
objTextFile.writeline "assign letter=z"
objTextFile.writeline "exit"
objTextFile.Close
WriteFile = path
End Function
I also create a bat Script to Format both the C & Z drive.
format /q /y /fs:ntfs c:
format /q /y /fs:ntfs z:
Hope this helps.
Comments