Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Script Request 
Author Message
Batya



PostPosted: Tue Oct 26, 2010 12:16    Post subject: Reply with quote

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
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group