Как да направите разрешения за копиране на VBScript заедно с файлове

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

person Angus Young    schedule 22.09.2011    source източник


Отговори (1)


xcopy е добра идея за това.
Пример за това как да го накарате да работи в рамките на vbscript.

Set oWSHShell = CreateObject("WScript.Shell")
oWSHShell.Exec "xcopy C:\source C:\destination /O /X /H /K /Y"
Set oWSHShell = Nothing
person Kul-Tigin    schedule 22.09.2011