Total Commander Knowledge Base

Есть вопрос?

Поищите ответ в самой большой русскоязычной базе знаний по Total Commander!

Циклическое переключение между дисками

A: Достаточно удобный механизм последовательного циклического переключения дисков в том или ином направлении:
'=========================================================
' Циклическое переключение между дисками

' Параметры (необ.): <обратное направление: 1> <тип диска>

' Тип диска может принимать следующие значения:
' 1 - тома сменных накопителей (по умолчанию);
' 2 - тома жёстких дисков;
' 3 - тома сетевых дисков;
' 4 - оптические приводы;
' 5 - RAM диски.

' Примеры: 1 | 1 2 | "" 2

' Автор: Flasher ©
'=========================================================

DType = 1
With WScript.Arguments
  Cnt = .Count : If Cnt Then Rev = .Item(0)
  If Cnt = 2 Then DType = .Item(1)
End With : Dim c, s, i
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim WSH : Set WSH = CreateObject("WScript.Shell")
Drive = UCase(FSO.GetDriveName(WSH.CurrentDirectory))
For Each D in FSO.Drives
  If D.DriveType = CInt(DType) Then c = c + 1 : s = s & " " & D
Next
If c > 0 Then
  c = c - 1 : M = Split(Mid(s,2))
  For i = 0 To c
    If M(i) = Drive Then
      If i = 0 And c = 0 Then WScript.Quit
      Exit For
    End If
  Next
  If i = 0 Then
      If Rev = "1" Then n = c     Else n = 1
  ElseIf i < c Then
      If Rev = "1" Then n = i - 1 Else n = i + 1
  ElseIf Rev = "1" Then n = i - 1 Else n = 0
  End If : WSH.Exec "%COMMANDER_EXE% /S /O /L=" & M(n)
End if

Чтобы не тянуться курсором мыши к нужной кнопке диска, куда проще нажимать близлежащие горячие клавиши на клавиатуре.

Сохраните vbs-скрипт, создайте пользовательские команды с указанием нужных параметров и повесьте их на удобные сочетания клавиш.
P.S.: Наиболее актуальным для себя считаю работу с флешками и картами памяти (вперёд: без параметров, назад: параметр - 1).

Flasher
14.11.2014