Всичко това е в 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