OSADJAN
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Ты меня запутал... Цитата: Работает так вводим каталог пример имя 111 ,,, он Ищет в E:\0\ этот каталог , заходит в него копирует всё содержимое каталога 111 и в этом же катологе создаёт каталог ИСХОДНЫЕ ,,,, тоесть E:\0\111\ИСХОДНЫЕ вот так | Предыдущий скрипт, именно это и делает, так? Вот и посмотри, что я заменил, поэкспреминтируй. Или предложи свой вариант... Вместе подумаем. Или давай я тебе распишу, что-где-когда. Смотри: Код: '---------------------------------------------------------------------------------------------------- ' Запрос имени папки откуда копировать, где "E:\0\" - неполный путь SourceFolder = "E:\0\" & InputBox("Введите имя папки, из которой будет произведено копирование","Копирование") '----------------------------------------------- ' Лечение возврата пустой строки, а также кн.Отмена If SourceFolder="E:\0\" & Empty Then WScript.Quit End If '-------------------------------------------- ' Временная папка TempFolder = "E:\ИСХ" '-------------------------------------------- ' Целевая папка DestFolder = SourceFolder&"\"& "ИСХ" '------------------------------------------------ ' Создаём объект Set FSO = CreateObject("Scripting.FileSystemObject") '---------------------------------------------- 'Проверяем есть ли временная папка If FSO.FolderExists(TempFolder) Then '---------------------------------------------- 'Если есть ничего не делаем '------------------------------------ 'Если нету создаём Else fso.createfolder(TempFolder) End If '----------------------------------------------------------------------- 'Требуемые объекты для копирования For Each Folder In FSO.GetFolder(SourceFolder).SubFolders FSO.CopyFolder SourceFolder, TempFolder Next '---------------------------------------------- 'Здесь проверки, если будут проводиться повторные копирования 'Проверяем, есть ли целевая папка 'Если есть просто копируем из временной папки в целевую If FSO.FolderExists(SourceFolder&"\"&"ИСХ") Then For Each Folder In FSO.GetFolder(TempFolder).SubFolders FSO.CopyFolder SourceFolder, TempFolder next '----------------------------------------------------- 'тут для всех случаев - перемещаем временную папку на место назначения 'временная стала целевой Else FSO.MoveFolder TempFolder, SourceFolder&"\" End If '------------------------------------------ 'удаление временной папки, если использовалось повторное копирование If FSO.FolderExists(TempFolder) Then FSO.DeleteFolder TempFolder End if | Не мешало бы ещё добавить проверки для совпадений файлов, но это ты сам. И ещё... Если, какие-то непонятки с путями, то надо проверять msgbox-сами и смотреть чего не хватает.Например: Код: SourceFolder = "E:\" & InputBox("Введите имя папки, из которой будет произведено копирование","Копирование") msgbox SourceFolder If SourceFolder="E:\" & Empty Then WScript.Quit End If TempFolder = "E:\ИСХОДНЫЕ" msgbox TempFolder DestFolder = SourceFolder&"\"& "ИСХОДНЫЕ" msgbox DestFolder |
|