Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Надо скопировать файлы из одной папки в другую, но только если их нет в третьей

Ответить
Настройки темы
VBS/WSH/JS - [решено] Надо скопировать файлы из одной папки в другую, но только если их нет в третьей

Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте!

Такая стоит задача:
Надо скопировать файлы из одной папки в другую, но только если этих файлов нет в третьей папке.
Папки каждый раз будут те же самые.
Имена файлов, которые надо копировать, заранее неизвестны, но могут попасться ненужные двойники
Сравнивать можно как угодно - по имени или по хешу.
Как сравнить файлы - нашел скрипт на VBS , а как их поочередно перебрать - никак...

Заранее спасибо всем откликнувшимся!

Отправлено: 18:20, 09-09-2011

 

Новый участник


Сообщения: 1
Благодарности: 1

Профиль | Отправить PM | Цитировать


Справочника по WSH нет под рукой.
Воспользуйся подобным перебором.
Код: Выделить весь код
var fso, f, f1, fc, s;  
fso = WScript.CreateObject("Scripting.FileSystemObject");;  
//указывай свою папку
f = fso.GetFolder("C:");  
fc = new Enumerator(f.files); 
s = "";  
for (; !fc.atEnd(); fc.moveNext()) {    
//fc.item() возвратит полное имя файла
//если нужно только одно имя, то бери fc.item().name
  s += fc.item(); s += "\n";  
}  
WScript.Echo(s);
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:33, 09-09-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


Сообщения: 2723
Благодарности: 1693

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
Dir1 = "D:\Delete\Dir1"
Dir2 = "D:\Delete\Dir2"
Dir3 = "D:\Delete\Dir3"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Files = FSO.GetFolder(Dir1).Files

For Each f In Files
    If Not FSO.FileExists(Dir3 + "\" + f.Name) Then FSO.CopyFile f, Dir2 + "\" + f.Name, True
Next

MsgBox "Копирование выполнено"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:36, 11-09-2011 | #3


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman,
Спасибо огромное!
У меня гораздо более громоздко получилось...

Отправлено: 21:42, 11-09-2011 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Надо скопировать файлы из одной папки в другую, но только если их нет в третьей

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] смена размера копируемых файлов из одной папки в другую Вовка13 Скриптовые языки администрирования Windows 4 10-09-2011 22:07
Интернет - Как установить SP1 для Office 2010, если нет папки MSOCache Vadikan Microsoft Office (Word, Excel, Outlook и т.д.) 0 11-07-2011 09:30
CMD/BAT - [решено] как скопировать файлы 1,2,3 в папки x,y,z соответственно shadowbat Скриптовые языки администрирования Windows 6 21-05-2010 13:07
Разное - [решено] как войти в систему если нет ни одной учетной записи dolores Microsoft Windows 2000/XP 6 02-05-2010 19:17
Разное - Вылетает експлорер, только при просмотре одной папки с фотками BMW09121985 Microsoft Windows Vista 10 25-04-2009 14:57




 
Переход