Автор Данила Борисов задал вопрос в разделе Другие языки и технологии
Как написать скрипт на VBS, который бы копировал папку из одного места в другое и получил лучший ответ
Ответ от Памирыч[гуру]
Для файлов:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("C:SHIFR.txt")
File.Copy "D:SHIFR.txt"
Для папок:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:NFRoot")
Folder.Copy "D:NFRoot"
Ответ от Кирилл Сабитов[гуру]
dim objFSO, strSource, strTarget
set objFSO = CreateObject("Scripting.FileSystemObject")
strSource = "c: emp1"
strTarget = "c: emp2"
call RecurseDir(strSource, strTarget)
' // Recursively copy all files and folders
Sub RecurseDir(strSource, strTarget)
dim strTempSource, strTempTarget
set strTempSource = objFSO.GetFolder(strSource)
set strTempTarget = objFSO.GetFolder(strTarget)
Wscript.Echo "Begin Value: " & strTempTarget
If Not objFSO.FolderExists(strTempTarget) Then
Wscript.Echo "No Folder! Creating folder [" & strTempTarget & "]"
objFSO.CreateFolder(strTempDir)
Else
Wscript.Echo "Folder exists! " & strTempTarget
End If
' ** Copy files from current directory to target
for each file in strTempSource.files
Wscript.Echo "Copying file: " & file & " to " & strTempTarget
file.copy(strTempTarget)
next
' ** For each subfolder of current dir, copy files to target and recurse its subdirs
for each subdir in strTempSource.subfolders
Wscript.Echo subdir.path
call RecurseDir(subdir.path,subdir.path)
Next
End Sub
dim objFSO, strSource, strTarget
set objFSO = CreateObject("Scripting.FileSystemObject")
strSource = "c: emp1"
strTarget = "c: emp2"
call RecurseDir(strSource, strTarget)
' // Recursively copy all files and folders
Sub RecurseDir(strSource, strTarget)
dim strTempSource, strTempTarget
set strTempSource = objFSO.GetFolder(strSource)
set strTempTarget = objFSO.GetFolder(strTarget)
Wscript.Echo "Begin Value: " & strTempTarget
If Not objFSO.FolderExists(strTempTarget) Then
Wscript.Echo "No Folder! Creating folder [" & strTempTarget & "]"
objFSO.CreateFolder(strTempDir)
Else
Wscript.Echo "Folder exists! " & strTempTarget
End If
' ** Copy files from current directory to target
for each file in strTempSource.files
Wscript.Echo "Copying file: " & file & " to " & strTempTarget
file.copy(strTempTarget)
next
' ** For each subfolder of current dir, copy files to target and recurse its subdirs
for each subdir in strTempSource.subfolders
Wscript.Echo subdir.path
call RecurseDir(subdir.path,subdir.path)
Next
End Sub
Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как написать скрипт на VBS, который бы копировал папку из одного места в другое