|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Копирование файла каждые восемь часов |
|
Любой язык - Копирование файла каждые восемь часов
|
Старожил Сообщения: 239 |
Здравствуйте
Возможно ли с помощью bat делать каждые 8 часов копию файла xlsx в папку? При этом удалять в папке файлы, созданные более месяца назад. Для удобства добавлять к имени файла время и дату. Я так понимаю нужен bat и планировщик(для запуска bat каждые 8 часов) в Windows. Или возможно такое только с помощью bat. т.е. скопировал bat на нужный комп, прописал имя копируемого файла и имя папки, в которую копировать. И все работало бы) |
|
Отправлено: 07:16, 13-10-2022 |
Ветеран Сообщения: 7273
|
Профиль | Отправить PM | Цитировать v79italya, планировщик нужен, чтобы запускать ваш батник по расписанию. Сам батник должен содержать только функции копирования (robocopy, например) и поиска/удаления старых файлов. Пример копирования на сетевой диск
@echo off rem USE FULL PATH TO NETWORK DRIVE!!!!!!!!!!!!!!!!!!!!!!!!!!!!! net use x: \\192.168.1.2\windows pascword@ /user:backupuser set "folder=\\192.168.1.2\windows\backup\SQL_back" set "source=d:\backup_sql" set "mask=*.*" rem с датой и временем rem robocopy "%source%" "%folder%\%date%\%time:~,2%.%time:~3,2%" "%mask%">nul rem только дата, без времени robocopy "%source%" "%folder%\%date%" "%mask%">nul net use x: /delete del /Q "d:\backup_SQL\*.*" exit /b |
------- Отправлено: 08:50, 13-10-2022 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 239
|
Профиль | Отправить PM | Цитировать dmitryst, спасибо!
Попробую воспользоваться. А нет варианта как выглядит код не с сетевым диском, а с папкой и файлом xlsx |
Отправлено: 09:11, 13-10-2022 | #3 |
Ветеран Сообщения: 7273
|
Профиль | Отправить PM | Цитировать @echo off set "dest=d:\kopiruem_suda" set "source=d:\backup_sql" set "mask=*.xlsx" rem с датой и временем robocopy "%source%" "%dest%\%date%-%time:~,2%.%time:~3,2%" "%mask%">nul exit /b ![]() ПС. копируется в папку с датой и временем, как добавить к названию файла - не знаю, коллеги подскажут. Для одного-единственного файла можно написать как-то так |
------- Отправлено: 10:04, 13-10-2022 | #4 |
Старожил Сообщения: 239
|
Профиль | Отправить PM | Цитировать dmitryst, спасибо!
Также нашел сегодня прогу Cobian Backup . Установилась правда с ошибками. Гоняю пока |
|
Отправлено: 12:46, 13-10-2022 | #5 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать v79italya,
@Echo Off >nul Chcp 1251 Set "FileIn=Z:\Soft_In\делать каждые 8 часов копию файла.xlsx" Set /A Narc=90 Set "BoxOut=Z:\Soft_Arc" rem Set "BoxOut=\\ServerName\Test2" rem Set "BoxOut=\\192.168.100.23\Test1" If Not Exist "%FileIn%" (Echo File "%FileIn%" not found &Pause &Exit /B 2) FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET "@Tdate=%%d" &Call Set "@Tdate=%%@TDate:~0,12%%" For %%f In ("%FileIn%") Do Set "Ext=%%~xf" &>nul Copy %%f "%BoxOut%\%@Tdate% %%~nxf" FOR /F "usebackq Skip=%Narc% delims=" %%f IN (`2^>nul Dir "%BoxOut%\20?????????? *%Ext%" /A:-D /B /O:-N`) DO Del "%BoxOut%\%%f" Exit /B Укажите свой путь к исходному файлу. Он может быть сетевым. Укажите свою папку, куда складываете копии. Она тоже может быть сетевой. Для примера оставил закомментированные строки. Я не хочу в CMD возиться с датами - возможно, но громоздко. Поэтому, если Вы делаеие копии каждые 8 час=3 копии в сутки = 90 копии в месяц, то я предлагаю сохранять последние 90 копии. Вы можете указать иное число. Естественно, Вы будете осчастливлены, если этот скрипт будет выполняться планировщиком. |
------- Последний раз редактировалось megaloman, 13-10-2022 в 15:37. Отправлено: 15:19, 13-10-2022 | #6 |
Старожил Сообщения: 239
|
Профиль | Отправить PM | Цитировать megaloman, спасибо! Сохраняет файл при клике. Осталось Планировщик настроить
|
Отправлено: 08:32, 14-10-2022 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Копирование с проверкой на наличие файла и последующее его копирование. | tubxtru | Программирование и базы данных | 4 | 27-10-2020 05:53 | |
CMD/BAT - [решено] Копирование новых файлов каждые 30 минут. | POSTREALITY | Скриптовые языки администрирования Windows | 20 | 23-11-2016 13:39 | |
За первые восемь часов приложение BBM на Android и iOS скачано 5 млн. раз | OSZone News | Новости информационных технологий | 0 | 23-10-2013 03:30 | |
[решено] Компьютер виснет через каждые 2-3-4-5 часов... | serj88rus | Непонятные проблемы с Железом | 22 | 28-08-2010 21:38 | |
[решено] отключение от сети каждые 4-5 часов | kivov | Microsoft Windows NT/2000/2003 | 8 | 14-10-2009 05:58 |
|