Вопрос № 175657: Уважаемые эксперты, подскажите, как при помощи ВБА Как с папки находящейся по адресу «F:\1» скопировать файлы в папку «C:\11» и самое главное, что бы не отвлекало вопросом: Папка уже содержит файлы ..... Заменить имеющиеся файлы Нужно отв...
Вопрос № 175657:
Уважаемые эксперты, подскажите, как при помощи ВБА Как с папки находящейся по адресу «F:\1» скопировать файлы в папку «C:\11» и самое главное, что бы не отвлекало вопросом: Папка уже содержит файлы ..... Заменить имеющиеся файлы Нужно ответить: Да для всех. Уже мною выяснено.
В данное время назрел вопрос как это сделать таким образом, чтобы это было сделано один раз в течение дня, копировались файлы только свежие. А также скажите, возможно, это можно сделать проще без ВБА, тогда в
какую среду программирования мне написать. Спасибо Эндрю
1. Написать команду, которую нужно выполнить, в простой текстовый файл, сохранить его где удобно, с расширением bat. @echo off xcopy /y/d/r/h F:\*.* C:\11
ключ /d задает копирование только обновленных файлов, /y Подавление запроса подтверждения на перезапись существующего конечного файла. /R Разрешение замены файлов, предназначенных только для чтения. /H Копирование скрытых и системных файлов (среди прочих). /E Копирование каталогов с подкаталогами
(в том числе пустых). Если подкаталогов нет, можно не писать.
2. Открыть start-program-accessories-system tools-Scheduled Tasks. 3. Нажать на add task, выбрать созданный файл, задать, чтобы задание выполнялось каждый день (daily). Нужно будет также ввести пароль Вашей учетной записи.
Теперь каждый день копирование будет происходить.
----- Я ни от чего, ни от кого не завишу.
Ответ отправил: Ashotn, Студент
Ответ отправлен: 27.12.2009, 16:37
Оценка ответа: 5
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 258171
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
также скажите, возможно, это можно сделать проще без ВБА, тогда в какую среду программирования мне написать.
- можно, конечно, написать не в VBA, а скрипт в VBS, который будет запускаться
как любой исполнимый файл. Но, (боюсь модераторы не одобрят, но решаю прежде всего задачу, на рассылку смотрю во вторую очередь): есть прекрасная команда XCOPY, прямо ориентированная на эти цели. (результат выполнения XCOPY /? см. в приложении) Итак, вот команда, решающая Вашу проблему: xcopy "d:\1\*.*" "d:\11\" /D /S /C /H /R /Y Кавычки обязательно необходимы, если пути содержат пробелы. Смысл ключей см. в приложении.
Вот еще полезная
возможность: вести log-файл этой операции, например xcopy "d:\1\*.*" "d:\11\" /D /S /C /H /R /Y >>C:\logxcopy_%Date%.log При этом за каждый день получите протокол копирования Недостаток - журнал получается в DOS - кодировке. Но просматривать можно, например, интернет-эксплорером. (я просматриваю встроенным редактором FAR)
Команду XCOPY можно вставить в назначенные задания и по расписанию её будет делать система.
В Windows XP Панель управления - Назначенные
задания - Добавить задание - Далее - Обзор - C:\WINDOWS\system32\xcopy.exe - Выполнение задания, например, ежедневно - Время начала установите нужное - Далее - У Вас потребуется ввести имя, от чьего имени Вы будете исполнять задание (для этого имени должен быть доступ для указанных папок) и пароль - Далее - Ставим птичку Установить дополнительные параметры ... В строке Выполнить для команды xcopy дописать параметры запуска: C:\WINDOWS\system32\xcopy.exe "d:\1
\*.*" "d:\11\" /D /S /C /H /R /Y С созданием лог-файла у меня одной командой не получилось, но можно написать bat - файл, например, logxcopy.bat , и сослаться на него в назначенном задании
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.