Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


sov44, Попробуйте вариант: Запускайте vbs-скрипт, он опросит имеющие сменные диски в состоянии готовности, запомнит их (если они есть), выдаст приглашение на подключение флэшки, определит появившуюся букву, запустит указанный Вами батник с параметром -буква диска: Пример батника в моём предыдущем посте
Код: Выделить весь код
' Скрипт находит сменные накопители на компьютере (кроме A:)
' Выдаёт запрос на подключение нового, после подключения - опред его букву
' Запускает указанный батник с параметром - именем (путём) диска

Bat = "Batnik.bat"      '- батник, который запускаетcя скриптом
                        '- если батник не рядом со скриптом-указать полный путь

Set WS = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Disks = FSO.Drives

iOld = ""
For Each Disk In Disks
    DPath = UCase(Disk.Path)
    If Disk.DriveType = 1 And Disk.IsReady And DPath <> "A:" Then iOld = iOld + UCase(Disk.DriveLetter)
Next
        
L = True
Do While L
    Ans = MsgBox("Вставьте сменный носитель", 49)
    If Ans = 2 Then Exit Do
    If Ans = 1 Then
        Set Disks = FSO.Drives
        For Each Disk In Disks
            DPath = UCase(Disk.Path)
            If Disk.DriveType = 1 And Disk.IsReady And DPath <> "A:" Then
                If InStr(1, iOld, UCase(Disk.DriveLetter), 1) = 0 Then
                    L = False
                    Ret = WS.Run("cmd /c " + Bat + " " + DPath, 1, False)
                    Exit For
                End If
            End If
        Next
    End If
Loop

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:34, 11-02-2012 | #14