mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 11:22:27 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			104 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Dim filesys, srcfile, srcfilename, fline,  dstfilename, dstfile, myshell, netuse
 | |
| Dim tmpstr, elems, instdrv, instpart, partcfg, partbios, partuefi
 | |
| Set myshell = WScript.createObject("WScript.Shell")
 | |
| Set netuse = myshell.Exec("net use")
 | |
| Dim drvletter
 | |
| Do While Not netuse.StdOut.AtEndOfStream
 | |
| 	tmpstr = netuse.StdOut.ReadLine()
 | |
| 	if InStr(tmpstr,"install") > 0 Then
 | |
| 		Do while InStr(tmpstr,"  ") > 0
 | |
| 			tmpstr = Replace(tmpstr,"  "," ")
 | |
| 		Loop
 | |
| 		elems = Split(tmpstr)
 | |
| 		drvletter=elems(1)
 | |
| 	End If
 | |
| Loop
 | |
| instdrv = myshell.ExpandEnvironmentStrings ( "%INSTALLTO%" )
 | |
| if InStr(instdrv,"%INSTALLTO%") Then
 | |
| 	Set myenv=myshell.Environment("User")
 | |
| 	instdrv = myenv("INSTALLTO")
 | |
| End If
 | |
| if instdrv = "" Then
 | |
| 	Set myenv=myshell.Environment("System")
 | |
| 	instdrv = myenv("INSTALLTO")
 | |
| End If
 | |
| if instdrv = "" Then
 | |
| 	instdrv = "0:0"
 | |
| End If
 | |
| 
 | |
| Dim strpoint
 | |
| strpoint = InStr(instdrv, ":")
 | |
| if strpoint Then
 | |
| 	tmpstr = instdrv
 | |
| 	instdrv = left(tmpstr,strpoint-1)
 | |
| 	instpart = mid(tmpstr,strpoint+1)
 | |
| End If
 | |
| 
 | |
| partcfg = myshell.ExpandEnvironmentStrings ( "%PARTCFG%" )
 | |
| if InStr(partcfg,"%PARTCFG%") Then
 | |
| 	Set myenv=myshell.Environment("User")
 | |
| 	partcfg = myenv("%PARTCFG%")
 | |
| End If
 | |
| if instdrv = "" Then
 | |
| 	Set myenv=myshell.Environment("System")
 | |
| 	partcfg = myenv("%PARTCFG%")
 | |
| End If
 | |
| 
 | |
| strpoint = InStr(partcfg, "[BIOS]")
 | |
| If strpoint Then
 | |
| 	partbios = Mid(partcfg, strpoint+6)
 | |
| 	strpoint = InStr(partbios, "[UEFI]")
 | |
| 	If strpoint Then
 | |
| 		partuefi = Mid(partbios, strpoint+6)
 | |
| 		partbios = Left(partbios, strpoint-1)
 | |
| 	End If
 | |
| End If
 | |
| 
 | |
| Set filesys = CreateObject("Scripting.FileSystemObject")
 | |
| dim notefi
 | |
| notefi=1
 | |
| if filesys.FileExists(drvletter&"\utils\windows\detectefi.exe") then
 | |
| 	notefi = myshell.run(drvletter&"\utils\windows\detectefi.exe",1,true)
 | |
| end if
 | |
| srcfilename = WScript.Arguments.Item(0)
 | |
| dstfilename = WScript.Arguments.Item(1)
 | |
| Set srcfile = filesys.OpenTextFile(srcfilename,1)
 | |
| Set dstfile = filesys.OpenTextFile(dstfilename,2,True)
 | |
| dim partitionscheme
 | |
| Do Until srcfile.AtEndOfStream
 | |
|         fline = srcfile.ReadLine
 | |
| 	if notefi=0 then
 | |
| 		fline = Replace(fline,"==BOOTPARTITIONS==","<CreatePartitions><CreatePartition><Order>1</Order><Type>EFI</Type><Size>260</Size></CreatePartition><CreatePartition><Order>2</Order><Type>MSR</Type><Size>128</Size></CreatePartition><CreatePartition><Order>3</Order><Type>Primary</Type><Extend>true</Extend></CreatePartition></CreatePartitions>")
 | |
| 
 | |
| 		if partuefi<>"" Then
 | |
| 			fline = Replace(fline,"==DISKCONFIG==", partuefi)
 | |
| 		else
 | |
| 			fline = Replace(fline,"==DISKCONFIG==","<Disk><DiskID>" & instdrv & "</DiskID><WillWipeDisk>true</WillWipeDisk><CreatePartitions><CreatePartition><Order>1</Order><Type>EFI</Type><Size>260</Size></CreatePartition><CreatePartition><Order>2</Order><Type>MSR</Type><Size>128</Size></CreatePartition><CreatePartition><Order>3</Order><Type>Primary</Type><Extend>true</Extend></CreatePartition></CreatePartitions></Disk>")
 | |
| 		end if
 | |
| 
 | |
| 		if instpart<>"0" Then
 | |
| 			fline = Replace(fline,"==INSTALLTOPART==", instpart)
 | |
| 		else
 | |
| 			fline = Replace(fline,"==INSTALLTOPART==","3")
 | |
| 		end if
 | |
| 	else
 | |
| 		fline = Replace(fline,"==BOOTPARTITIONS==","<CreatePartitions><CreatePartition><Order>1</Order><Type>Primary</Type><Extend>true</Extend></CreatePartition></CreatePartitions>")
 | |
| 
 | |
| 		if partbios<>"" Then
 | |
| 			fline = Replace(fline,"==DISKCONFIG==", partbios)
 | |
| 		else
 | |
| 			fline = Replace(fline,"==DISKCONFIG==", "<Disk><DiskID>" & instdrv & "</DiskID><WillWipeDisk>true</WillWipeDisk><CreatePartitions><CreatePartition><Order>1</Order><Type>Primary</Type><Extend>true</Extend></CreatePartition></CreatePartitions></Disk>")
 | |
| 		end if
 | |
| 
 | |
| 		if instpart<>"0" Then
 | |
| 			fline = Replace(fline,"==INSTALLTOPART==",instpart)
 | |
| 		else
 | |
| 			fline = Replace(fline,"==INSTALLTOPART==","1")
 | |
| 		end if
 | |
| 	end if
 | |
| 	
 | |
| 	fline = Replace(fline,"==INSTALLTODISK==",instdrv)
 | |
| 
 | |
| 	dstfile.WriteLine(Replace(fline,"==INSTALLSHARE==",drvletter))
 | |
| Loop
 |