你可以通過所有驅動器環路和檢查\folder\run.bat
是否存在。
另外,see this page用於VBScript Run
方法的語法。
Set shell = WSH.CreateObject("WScript.Shell")
Set fso = WSH.CreateObject("Scripting.FileSystemObject")
Set drives = fso.Drives
For Each drive in drives
batfile = drive.DriveLetter & ":\folder\run.bat"
if fso.FileExists(batfile) Then Exit For
Next
If not fso.FileExists(batfile) Then
WSH.Echo("bat script not found.")
WSH.Quit(1)
End If
WSH.Echo("found it: " & batfile)
shell.Run batfile, 0, True
你可能也被認爲是限制你的搜索只removable drives,而是被分配閃存驅動器的驅動器1類型不能保證。我有一個快速USB 3.0閃存驅動器,驅動器類型爲2,與我的內部硬盤驅動器相同。
如果VBScript的將是在同一目錄或同一驅動器中的.bat腳本,可以極大地使用類似
Dir = fso.GetParentFolderName(WSH.ScriptFullName)
Drive = fso.GetFolder(Dir).Drive.DriveLetter
的可能的複製簡化這個[參考卷/通過標籤驅動器](https://stackoverflow.com/questions/9065280/reference-a-volume-drive-by-label) – AWinkle
您正在混合批處理和vbs語法,我不清楚你在做什麼。這是一個批處理/ vbs運行,你想知道它是自己的位置?或者,您是否正在從HD運行批次/ vbs併爲pendrive尋找正確的驅動器號? @ AWinkle的鏈接顯示了一種定義標籤的方式。 – LotPings