Автоматизация переноса файлов со съёмных дисков (флешек)

Примеры использования бесплатного программного обеспечения.

Автоматизация переноса файлов со съёмных дисков (флешек)

Сообщение DmitryS » 12 декабря 2020, 15:14



Как осуществить автоматический перенос (копирование с последующим удалением) файлов с флешек и иных съёмных носителей информации (USB-устройств, карт памяти, внешних жёстких дисков, CD/DVD/Blu-Ray приводов, FDD (Floppy) устройств, сетевых, виртуальных, RAM-дисков и др.) на стационарный либо сетевой диск ) в ОС Microsoft Windows?



1. Скачиваем на компьютер программу FDFRun.
2. Устанавливаем программу в папку: "C:\Program Files\VRCP Soft\FDFRun\".

3. Скачиваем на компьютер программу FDFSpy.
4. Устанавливаем программу в папку: "C:\Program Files\VRCP Soft\FDFSpy\".

5. Скачиваем на компьютер программу AutoKFD.
6. Устанавливаем программу в папку: "C:\Program Files\VRCP Soft\AutoKFD\".

7. Настройки установленных программ будут примерно такие:
( маски для файлов в FDFSpy и AutoKFD обязательно должны быть одинаковыми! )

Изображение

8. Скачиваем на компьютер дополнительную программу USBOff.zip.
9. Распаковываем файл "rmdrv64.exe" в папку: "C:\Program Files\VRCP Soft\FDFRun\".
( для 32-битной операционной системы распаковываем туда файл - "rmdrv32.exe" )

10. Создаём в папке "C:\Program Files\VRCP Soft\FDFRun\" файл "autorun.vbs":
( путь к файлу "autorun.vbs" прописываем в настройках программы "FDFRun", см. выше )
( в программе "FDFRun" в качестве передаваемого параметра указываем "%", см. выше )

Содержимое файла "autorun.vbs" будет примерно такое:
Option Explicit
On Error Resume Next
Dim WSHShell, PsArgs, PsWMI, PsDrv, PsWait
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set PsArgs = WScript.Arguments
Set PsWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
PsDrv = UCase(Trim(PsArgs(0)))
If Len(PsDrv) > 0 Then PsDrv = Trim(Left(PsDrv,1))

If Len(PsDrv) = 1 Then
If Asc(PsDrv) > 64 And Asc(PsDrv) < 91 Then
WSHShell.Run """" & "C:\Program Files\VRCP Soft\FDFSpy\FDFSpy.exe " & """" & PsDrv

Do
WScript.Sleep 100
PsWait = 0
If PsWMI.ExecQuery("SELECT * FROM Win32_Process WHERE Name LIKE 'fdfspy.exe'").Count > 0 Then PsWait = 1
Loop Until PsWait = 0
WSHShell.Run """" & "C:\Program Files\VRCP Soft\AutoKFD\AutoKFD.exe " & """" & PsDrv

End If
End If

Set PsArgs = Nothing
Set PsWMI = Nothing
Set WSHShell = Nothing
WScript.Quit 0

Если необходимо автоматически извлекать съёмный диск, то содержимое такое:
( для 32-битной операционной системы заменяем rmdrv64.exe на rmdrv32.exe )
Option Explicit
On Error Resume Next
Dim WSHShell, PsArgs, PsWMI, PsDrv, PsWait
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set PsArgs = WScript.Arguments
Set PsWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
PsDrv = UCase(Trim(PsArgs(0)))
If Len(PsDrv) > 0 Then PsDrv = Trim(Left(PsDrv,1))

If Len(PsDrv) = 1 Then
If Asc(PsDrv) > 64 And Asc(PsDrv) < 91 Then
WSHShell.Run """" & "C:\Program Files\VRCP Soft\FDFSpy\FDFSpy.exe " & """" & PsDrv

Do
WScript.Sleep 100
PsWait = 0
If PsWMI.ExecQuery("SELECT * FROM Win32_Process WHERE Name LIKE 'fdfspy.exe'").Count > 0 Then PsWait = 1
Loop Until PsWait = 0
WSHShell.Run """" & "C:\Program Files\VRCP Soft\AutoKFD\AutoKFD.exe " & """" & PsDrv

Do
WScript.Sleep 100
PsWait = 0
If PsWMI.ExecQuery("SELECT * FROM Win32_Process WHERE Name LIKE 'autokfd.exe'").Count > 0 Then PsWait = 1
Loop Until PsWait = 0
WSHShell.Run """" & "C:\Program Files\VRCP Soft\FDFRun\rmdrv64.exe " & """" & PsDrv

WScript.Sleep 100
MsgBox " Съёмный носитель информации <" & PsDrv & "> успешно обработан и извлечён! "

End If
End If

Set PsArgs = Nothing
Set PsWMI = Nothing
Set WSHShell = Nothing
WScript.Quit 0




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


Аватара пользователя
DmitryS
 
Основатель
Основатель
 
Сообщения: 279
Зарегистрирован: 10 октября 2011, 14:53
Откуда: Russia, Moscow
Возраст: 41
Пол: муж.
 
Контакты:

Вернуться в Программные решения, доработки

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1