Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Копирование папки, а не только ее содержимое (http://forum.oszone.net/showthread.php?t=210556)

ksv_sergo 05-07-2011 17:38 1707602

Копирование папки, а не только ее содержимое
 
Здравствуйте !
Помогите разобраться что не так в скрипте.
Мне нужно чтобы папка FOX и ее содержимое скопировалась в папку d:\2\ имя каталога задаю

А когда я запускаю скрипт то сама папка FOX не копируется в заданый каталог, а копируется только ее содержимое.

Dim fso, ImputName2, 'FolderName1 'переменные

Set fso = CreateObject("Scripting.FileSystemObject") 'создаем объект FileSystemObject в переменную fso
'FolderName1 = ("FOX") 'задаём имя папки 1


ImputName2 = InputBox ("Введите имя для создания папки архива")
Set Fldr = fso.CreateFolder ("d:\2" & ImputName2) 'создадим папку для архива
fso.CopyFolder "d:\1\FOX", "d:\2\" & ImputName2, true

OSArev 05-07-2011 20:34 1707747

ksv_sergo, ответы на такие вопросы в любой справке есть.
Код:

Dim fso, ImputName2, FolderName1

Set fso = CreateObject("Scripting.FileSystemObject")
FolderName1 = "d:\1\FOX"  'Копируемая папка

ImputName2 = InputBox ("Введите имя для создания папки архива")
Set Fldr = fso.CreateFolder ("d:\2\" & ImputName2) 'тут не хватало слэша
fso.CopyFolder FolderName1, "d:\2\" & ImputName2, true


ksv_sergo 06-07-2011 09:49 1708042

OSArev, спасибо за ответ.
Справки я уже перечитал вдоль и поперёк, но всё равно не срабатывает.

Применил ваш скрипт, результат старый :( В папку копируется только содержимое FOX, а не сама папка полностью.

Цитата:

Цитата OSArev
Set Fldr = fso.CreateFolder ("d:\2\" & ImputName2) 'тут не хватало слэша »

тут наличие слеша не важно, папка создаётся хоть с слешем хоть без него.

amel27 06-07-2011 10:59 1708074

Цитата:

Цитата ksv_sergo
Справки я уже перечитал вдоль и поперёк, но всё равно не срабатывает. »

папка назначения = ПУТЬ + новое ИМЯ папки
Код:

Set FSO = CreateObject("Scripting.FileSystemObject")

strFolder1 = "D:\1\FOX"
strFolder2 = InputBox ("Введите имя для создания папки архива")
strFolder2 = "D:\2\" & strFolder2

If Not FSO.FolderExists(strFolder2) Then FSO.CreateFolder(strFolder2)
strFolder2 = strFolder2 &"\"& FSO.GetFileName(strFolder1)
FSO.CopyFolder strFolder1, strFolder2, vbTrue


Ins_16 06-07-2011 11:10 1708077

Код:

Set FSO = CreateObject("Scripting.FileSystemObject")

Set Folder = FSO.GetFolder("d:\1\FOX\")'Копируемая папка
ImputName2 = InputBox ("Введите имя для создания папки архива")
Set enddir = FSO.CreateFolder ("D:\times\" & ImputName2)
Set NewFolder = enddir.SubFolders.Add("FOX")'Создаём подпапку
Folder.Copy enddir & "\FOX"'Копируем в подпапку

Попробуйте такой вариант.

ksv_sergo 06-07-2011 11:43 1708094

Всем спасибо, оба варианта сработали !


Время: 02:57.

Время: 02:57.
© OSzone.net 2001-