Welcome to MSDN Blogs Sign in | Join | Help

VBScript to merge a differencing disk to a new file

Got an email the other day asking for a sample script on how to merge a differencing disk to a new file - so here we go:

   1: Option Explicit
   2:  
   3: 'Define constants
   4: CONST vmDiskType_Dynamic = 0
   5: CONST vmDiskType_FixedSize = 1
   6: CONST vmDiskType_Differencing = 2
   7:  
   8: dim vs, aVHD, aVHDFileName, newVHDFileName, vmTask
   9:  
  10: 'Grab command line arguments
  11: aVHDFileName = WScript.Arguments.Item(0)
  12: newVHDFileName = WScript.Arguments.Item(1)
  13:  
  14: 'Connect to Virtual Server
  15: Set vs = CreateObject("VirtualServer.Application")
  16:  
  17: 'Create VHD object
  18: set aVHD = vs.GetHardDisk(aVHDFileName)
  19:  
  20: 'Merge the VHD to a new dynamic disk
  21: if aVHD.type = vmDiskType_Differencing then
  22:    wscript.echo "Merging the VHD to a new file..."
  23:    set VMTask = aVHD.MergeTo(newVHDFileName, vmDiskType_Dynamic)
  24:    vmTask.WaitForCompletion(-1)
  25: end if

As you can see, this script take two command line parameters: the differencing disk and the target disk.  It then merges the differencing disk with its parent and stores the result in the new target disk.

Cheers,
Ben

Published Thursday, March 08, 2007 5:50 PM by Virtual PC Guy

Comments

Friday, March 09, 2007 1:30 PM by arunchandra1954

# Virtual PC 7.0.2 running DOS 6.22 under OS X.4.8

how does one allow for shared folders between Virtual PC 7.0.2 running DOS 6.22 with the host operating system OS X.4.8?

I've got the DOS up and running under Virtual PC, but the "Install or Update Additions" button seems to do nothing.

Any suggtions?

Thanks in advance,

Arun Chandra

arunc@evergreen.edu

New Comments to this post are disabled
 
Page view tracker