Скопируйте файлы папок и подпапок с определенным расширением файла из нескольких местоположений в переменную %appdata% path
Используя Vbscript, я пытаюсь скопировать файлы с определенными расширениями файлов, такими как [.tmp,. dat,. txt], из папки и подпапки в более чем одном месте в %AppData% destination user с повышенными привилегиями. Ниже приведен пример моего кода, который запрашивает Разрешение указано в строке 40 моего кода
' Require variables to be defined Option Explicit ' Global variables Dim strBaseFolder Dim strDestFolder Dim objFSO Dim objFolder Dim objFile Dim objWShell Set objWShell = WScript.CreateObject("WScript.Shell") Dim homePath homePath = objWShell.expandEnvironmentStrings("%HOMEPATH%") ' Define folders to work with strBaseFolder = "C:\" strDestFolder = homePath + "\AppData\Roaming\Shell32" ' Create filesystem object Set objFSO = CreateObject("Scripting.FileSystemObject") ' Exit if base folder does not exist If Not objFSO.FolderExists(strBaseFolder) Then Wscript.Echo "Missing base folder : """ & strBaseFolder & """" Wscript.Quit End If ' Exit if dest folder does not exist If Not objFSO.FolderExists(strDestFolder) Then Wscript.Echo "Missing dest folder : """ & strDestFolder & """" Wscript.Quit End If ' Look at each subfolder of base folder For Each objFolder In objFSO.GetFolder(strBaseFolder).SubFolders ' Continue if we want this folder If IncludeFolder(objFolder) Then ' Check each file in this folder For Each objFile In objFolder.Files ' Continue if we want this file If IncludeFile(objFile) Then ' Copy the file 'Wscript.Echo "Copying File :""" & objFile.Path & """" objFile.Copy strDestFolder & "\" & objFile.Name End If Next End If Next ' Logic to determine if we process a folder Function IncludeFolder(objFolder) ' Exclude certain folder names Select Case LCase(objFolder.Name) Case "exchange", "hr_daily_terminations", "pay", "terminations", "work folder" IncludeFolder = False Case Else IncludeFolder = True End Select End Function ' Logic to determine if we process a file Function IncludeFile(objFile) IncludeFile = False Select Case LCase(objFSO.GetExtensionName(objFile.Path)) ' Include only these extensions Case "txt", "dat", "tmp" ' Include only files dated today If DateDiff("d", objFile.DateLastModified, Now) = 0 Then IncludeFile = True End If End Select End Function
Что я уже пробовал:
Использование Базовой Папки
strBaseFolder = homePath + "\AppData\Local\Temp"
Это не вызывает никаких ошибок, но когда я проверил папку назначения, я обнаружил, что ни один файл не был скопирован в нее.
Кроме того, когда я попытался объединить mutiple BaseFolder:
strBaseFolder = "C:\" strBaseFolder = "D:\" strBaseFolder = homePath + "\AppData\Local\Temp"
Это не вызывает никаких ошибок, но когда я проверил папку назначения, я обнаружил, что ни один файл не был скопирован в нее.
Я был бы признателен, если бы кто-то мог оказать мне большую помощь, помогая мне с рабочим кодом моей проблемы в качестве решения.
Спасибо!