【问题标题】:Hidden script to copy content of USB用于复制 USB 内容的隐藏脚本
【发布时间】:2016-01-24 17:27:25
【问题描述】:

是否有适用于 Windows 的程序或脚本(可能是 powershell,或 cmd)可以检测何时插入 USB 驱动器并将其内容复制到 PC 的硬盘驱动器中?

它应该能够在不征求许可或打开确认或状态窗口的情况下自主行动。

每次将驱动器连接到机器时,我都需要它来创建驱动器的备份。

【问题讨论】:

  • 可能是this post?但它需要不断运行才能进行检查。
  • 是的,这与我需要的相似。我知道它必须始终在后台运行。
  • 我制作了一个这样的 vbscript,所以如果您想发布此代码,只需添加标签 vbscript
  • 嗯,每次都是同一个USB吗?然后可以放置一个文件,我可以轻松地编写代码来检查您的..say `E:` 驱动器中的该文件。

标签: windows powershell batch-file vbscript backup


【解决方案1】:

此 vbscript 用于自动复制每个新插入的 USB 密钥或 SD 卡。 对于每个 USB 密钥或每个 sdcard,它会在 %AppData% 文件夹中创建一个这种形式的文件夹“MachineName_VolumeUSB_NumSerie”,它会第一次完全复制然后增量复制,即它只是复制新文件和每次更改的文件30 秒。

'Sauvegarde automatique des clés USB et SDCARD dés leurs insertion.
'Ce Programme sert à copier automatiquement chaque clé USB nouvellement insérée ou bien une SDCard.
'Il sert à faire des Sauvegardes incrémentielles de vos clés USB.
'Pour chaque clé USB, il crée un dossier de cette forme "NomMachine_NomVolumeUSB_NumSerie" dans le dossier %AppData% et
'il fait une copie totale pour la première fois, puis incrémentielle , càd ,il copie juste les nouveaux fichiers et les fichiers modifiés.
'Crée le 23/09/2014 © Hackoo
Option Explicit
Do
   Call AutoSave_USB_SDCARD()
   Pause(30)
Loop
'********************************************AutoSave_USB_SDCARD()************************************************
Sub AutoSave_USB_SDCARD()
   Dim Ws,WshNetwork,NomMachine,AppData,strComputer,objWMIService,objDisk,colDisks
   Dim fso,Drive,NumSerie,volume,cible,Amovible,Dossier,chemin,Command,Result
   Set Ws = CreateObject("WScript.Shell")
   Set WshNetwork = CreateObject("WScript.Network")
   NomMachine = WshNetwork.ComputerName
   AppData= ws.ExpandEnvironmentStrings("%AppData%")
   cible = AppData & "\"
   strComputer = "."
   Set objWMIService = GetObject("winmgmts:" _
   & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
   Set colDisks = objWMIService.ExecQuery _
   ("SELECT * FROM Win32_LogicalDisk")

   For Each objDisk in colDisks
      If objDisk.DriveType = 2 Then
         Set fso = CreateObject("Scripting.FileSystemObject")
         For Each Drive In fso.Drives
            If Drive.IsReady Then
               If Drive.DriveType = 1 Then
                  NumSerie=fso.Drives(Drive + "\").SerialNumber
                  Amovible=fso.Drives(Drive + "\")
                  Numserie=ABS(INT(Numserie))
                  volume=fso.Drives(Drive + "\").VolumeName
                  Dossier=NomMachine & "_" & volume &"_"& NumSerie
                  chemin=cible & Dossier
                  Command = "cmd /c Xcopy.exe " & Amovible &" "& chemin &" /I /D /Y /S /J /C"
                  Result = Ws.Run(Command,0,True)
               end if
            End If   
         Next
      End If   
   Next
End Sub
'***************************************Fin du AutoSave_USB_SDCARD()*********************************************
'****************************************************************************************************************
Sub Pause(Sec)
   Wscript.Sleep(Sec*1000)
End Sub 
'****************************************************************************************************************

【讨论】:

  • 谢谢Hackoo,这正是我需要的。如何更改计算机上保存文件的位置(而不是 %AppData%)?
  • @Chips 只需将这个变量 cible = AppData & "\" 改成这个,例如 cible = "D:\USB_Backup\" 或 cible = "C:\USB_Backup\"
  • 谢谢!另外,有没有办法在将它们复制到计算机之前搜索 USB 中的特定文件或文件夹?例如仅复制名称中包含字符 xyz 的文件和文件夹
  • @Chips 我认为您最好将其发布在另一个新问题中并使用修改后的代码!
【解决方案2】:

第 1 步:为自己准备一个 USB 驱动器。

第 2 步:下载工具列表。以获得更多结果。下载每个工具:http://www.nirsoft.net/utils/index.html#password_utils

第 2 步:创建一个包含行的 start filename /stext filename.txt 的批处理文件

示例:start mspass.exe /stext mspass.txt

每个程序。

第 3 步:通过将 USB 驱动器插入设备来测试您的“程序”。并单击您创建的批处理文件。

“密码找回快乐”

编辑:

我在互联网上也发现了这个,很容易解释我刚刚在上面写的内容+更多

http://lifehacker.com/create-a-usb-password-stealer-to-see-how-secure-your-i-1650354166

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-02
    • 2022-01-05
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    相关资源
    最近更新 更多