Это все в Windows XP с использованием VBScript.
У меня есть каталог с несколькими файлами внутри.Файлы имеют различные права доступа.Мне нужно иметь возможность копировать файлы в новый каталог при сохранении разрешений.Используя скрипт ниже, копия работает нормально, но разрешения перезаписываются новой родительской папкой.
Я знаю о xcopy, но не уверен, как заставить его работать в скрипте.Использование Robocopy является небольшой возможностью, но следует избегать, если это вообще возможно.Другие утилиты исключены из-за сетевых ограничений.
Любая помощь очень ценится.
Dim CopyFromPath, CopyToPath
Const WINDOW_HANDLE = 0
Const NO_OPTIONS = 0
Const OverwriteExisting = TRUE
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(WINDOW_HANDLE,"Select folder to copy:",NO_OPTIONS,ssfDRIVES)
if (not objFolder is nothing) then
Set objFolderItem = objFolder.Self
CopyFromPath = objFolderItem.Path
else
Set objShell = nothing
WScript.Quit(0)
end if
Set objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, "Where should the folder be copied to?:", NO_OPTIONS, ssfDRIVES)
if (not objFolder is nothing) then
Set objFolderItem = objFolder.Self
CopyToPath = objFolderItem.Path
else
Set objShell = nothing
WScript.Quit(0)
end if
Set objFolder = nothing
Set objFolderItem = nothing
Set objShell = nothing
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile CopyFromPath & "\*.*", CopyToPath & "\", OverwriteExisting
msgbox "The folder has now been copied to " & CopyToPath