Batya

|
Posted: Tue Oct 26, 2010 12:16 Post subject: |
|
|
| Code: | '========================================================
' Последовательное переключение между дисками
' Параметры скрипта:
' [{Тип дисков}]
' Здесь {Тип дисков} может принимать значения:
' 1 - тома сменных накопителей;
' 2 - тома жёстких дисков;
' 3 - сетевые диски;
' 4 - оптические приводы;
' 5 - виртуальные диски.
' Авторcтво: Flasher, Batya
'========================================================
Option Explicit
'================ Изменяемые параметры ==================
Const DefaultDriveType = 1 'Тип дисков по умолчанию
'========================================================
Dim FSO, WSH, D, Drive, Flag, DriveType
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
DriveType = DefaultDriveType
If WScript.Arguments.Count > 0 Then _
DriveType = CInt(WScript.Arguments(0))
Drive = UCase(FSO.GetDriveName(WSH.CurrentDirectory))
Flag = False
For Each D In FSO.Drives
If Flag Then
If CheckDrive Then
GoToDrive(D.Path & "\")
Quit
End If
Else
Flag = (UCase(D.Path) = Drive)
End If
Next
'Если текущий диск последний, начнём сначала
For Each D In FSO.Drives
If CheckDrive Then
GoToDrive(D.Path & "\")
Quit
End If
Next
'Подходящих по условиям дисков нет. Выходим
Quit
Sub Quit
Set D = Nothing
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit 0
End Sub
Function CheckDrive
CheckDrive = ((D <> "A:") And D.IsReady And (D.DriveType = DriveType) And (UCase(D.Path) <> Drive))
End Function
Sub GoToDrive(pDrive)
Dim TCPath
TCPath = WSH.ExpandEnvironmentStrings("%Commander_Path%")
WSH.Run """" & TCPath & "\totalcmd.exe"" /S /O /L=" & pDrive, 1, True
End Sub
|
_________________ Нет, я не сплю. Я просто медленно моргаю.
Last edited by Batya on Tue Oct 26, 2010 16:41; edited 2 times in total |
|