2017-08-12 1 views
1

Hallo im unhide usb-Dateien machen i konboot usb Installer usb unhidevbsScript entfernen Raum Echo

CMD cscript // Nologo USB.vbs> unhide.bat

Wscript.Echo "attrib -s -h -r /s /d "& SingleLogicalDisk.DeviceID,"\*.*" 

die Ausgabe ändern attrib -s -h -r/s/d F: (haben Platz hier) * *

ich brauche keinen Platz auf F:.. (hier) * *

meine letzte Ausgabe möchte ich attrib -s -h -r/s/d F:. * *

Vbscript

Dim query 
Dim WMBIObj 
Dim AllDiskDrives 
Dim SingleDiskDrive 
Dim AllLogicalDisks 
Dim SingleLogicalDisk 
Dim AllPartitions 
Dim Partition 
Dim result 
Dim textmsg 
Dim wshShell 
Dim FileObj 
Dim Counter 

set FileObj = CreateObject("Scripting.FileSystemObject") 
set wshShell = wscript.createObject("wscript.shell") 
Set WMBIObj = GetObject("winmgmts:\\.\root\cimv2") 
Set AllDiskDrives = WMBIObj.ExecQuery("SELECT * FROM Win32_DiskDrive where InterfaceType='USB'") ' 
For Each SingleDiskDrive In AllDiskDrives 
    counter = counter + 1 
    query = "ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" + SingleDiskDrive.DeviceID + "'} WHERE AssocClass = Win32_DiskDriveToDiskPartition" 
    Set AllPartitions = WMBIObj.ExecQuery(query) 
    For Each Partition In AllPartitions 
     query = "ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" + Partition.DeviceID + "'} WHERE AssocClass = Win32_LogicalDiskToPartition" 
     Set AllLogicalDisks = WMBIObj.ExecQuery (query) 
     For Each SingleLogicalDisk In AllLogicalDisks 

      textmsg = "============================================" & VbCr & _ 
         "DeviceID: " & SingleDiskDrive.DeviceID & VbCr & _ 
         "Logical Drive: " & SingleLogicalDisk.DeviceID & VbCr & _ 
         "Model: " & SingleDiskDrive.Model & VbCr & _ 
         "Manufacturer: " & SingleDiskDrive.Manufacturer & VbCr & _ 
         "============================================" & VbCr & _ 
         "Would you like to use this drive as destination?" & VbCr & _ 
         "Warning, disk data may be overwritten" 
      result = MsgBox(textmsg, vbQuestion + vbOKCancel, "USB") 

      if result = vbOk Then 
         WScript.Echo "echo DeviceID: " & SingleDiskDrive.DeviceID 
         WScript.Echo "echo Logical Drive: " & SingleLogicalDisk.DeviceID 
         WScript.Echo "echo Model: " & SingleDiskDrive.Model 
         WScript.Echo "echo Manufacturer: " & SingleDiskDrive.Manufacturer 
         Wscript.Echo "attrib -s -h -r /s /d "& SingleLogicalDisk.DeviceID,"\*.*" 
         wshShell.Run "unhide.bat" 
         WScript.quit 

       MsgBox "Your USB is ready!", vbInformation + vbOKOnly, "USB" 
       WScript.quit 
      End If 
     Next 
    Next 
Next 
if counter = 0 Then 
    MsgBox "No USB disks detected or unknown error!", vbCritical + vbOkOnly, "USB" 
End If 

Antwort

2

In dieser Zeile:

Wscript.Echo "attrib -s -h -r /s /d "& SingleLogicalDisk.DeviceID,"\*.*" 

Sie müssen die Strings verketten "attrib -s -h -r /s /d ", SingleLogicalDisk.DeviceID und "\*.*"

Yo Sie verwenden , anstelle von & zum Verketten der zweiten und dritten Zeichenfolgen. Es sollte eigentlich sein:

Wscript.Echo "attrib -s -h -r /s /d "& SingleLogicalDisk.DeviceID & "\*.*" 

Wenn Sie , anstelle von &, die dritte Saite als ein weiteres Argument für die echo Methode angesehen wird. Also fügt es ein Leerzeichen zwischen den Argumenten in der Ausgabe hinzu.

Von: Echo Method

Jedes angezeigte Element ist mit einem Leerzeichen getrennt.

+0

danke, du löst mein Problem :) – user3245957