|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Скрипт создающий папку с тек.датой и перемещ. в нее файлы |
|
CMD/BAT - Скрипт создающий папку с тек.датой и перемещ. в нее файлы
|
Старожил Сообщения: 268 |
Профиль | Отправить PM | Цитировать Есть сетевая папка в которую сохраняются скриншоты формата "Snap - 2017-02-06 09.45.00.png" и так в течении дня с разным временем, каждый день.
За день- 60-100 скриншотов. За неделю накапливается слишком много скриншотов. Надо это упорядочивать. Нужно настроить планировщик на выполнения скрипта BAT файла, который бы создавал папку с текущей датой и в нее перемещал скриншоты за сегодняшний день. |
|
Отправлено: 13:01, 08-02-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Maza11,
Цитата alpap:
Maza11, покажите результаты исполнения: только либо просто скопируйте текст из окна консоли, либо не делайте масштабирование на скриншоте. Кроме того, Вы можете задать в свойствах задания не .vbs, а сам исполняемый файл: |
|
Отправлено: 07:39, 09-02-2017 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 268
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Настройте планировщик на его выполнение, в XP, мне помнится, это не проблема, сделайте повтор его исполнения с нужной Вам периодичностью, хоть сто раз в день, хоть раз в неделю, месяц итд. Не на чем вспомнить XP. Пытаюсь по Вашему скрину: кажется, в панели управления найти назначенные задания -> кнопка (иконка?) новое задание ->выдаст окно поиска исполнимого файла. Затем настроите расписание. Там всё понятно » Ваш BAT файл работает, спасибо |
Отправлено: 10:27, 09-02-2017 | #12 |
Новый участник Сообщения: 45
|
Профиль | Отправить PM | Цитировать Почему-то не работает. Помогите пожалуйста.
@Echo On Set "BoxIn=c:\temp" Set "BoxOut=c:\temp" Set "Mask=sshot-20??-??-??-[??-??-??].png" FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%Mask%" /b /A:-D 2^>nul`) DO ( FOR /F "usebackq tokens=3 delims= " %%d IN ('%%f') DO ( If Not Exist "%BoxOut%\%%d" Md "%BoxOut%\%%d" Copy "%BoxIn%\%%f" "%BoxOut%\%%d\" >nul &&Del "%BoxIn%\%%f" ) ) pause >nul C:\>Set "BoxIn=c:\temp" C:\>Set "BoxOut=c:\temp" C:\>Set "Mask=sshot-20??-??-??-[??-??-??].png" C:\>FOR /F "usebackq delims=" %f IN (`Dir "c:\temp\sshot-20??-??-??-[??-??-??].p ng" /b /A:-D 2>nul`) DO (FOR /F "usebackq tokens=3 delims= " %d IN ('%f') DO ( If Not Exist "c:\temp\%d" Md "c:\temp\%d" Copy "c:\temp\%f" "c:\temp\%d\" 1>nul && Del "c:\temp\%f" ) ) C:\>(FOR /F "usebackq tokens=3 delims= " %d IN ('sshot-2018-03-30-[11-20-56].png ') DO ( If Not Exist "c:\temp\%d" Md "c:\temp\%d" Copy "c:\temp\sshot-2018-03-30-[11-20-56].png" "c:\temp\%d\" 1>nul && Del "c :\temp\sshot-2018-03-30-[11-20-56].png" ) ) C:\>(FOR /F "usebackq tokens=3 delims= " %d IN ('sshot-2018-03-30-[11-20-57].png ') DO ( If Not Exist "c:\temp\%d" Md "c:\temp\%d" Copy "c:\temp\sshot-2018-03-30-[11-20-57].png" "c:\temp\%d\" 1>nul && Del "c :\temp\sshot-2018-03-30-[11-20-57].png" ) ) C:\>(FOR /F "usebackq tokens=3 delims= " %d IN ('sshot-2018-03-30-[11-20-58].png ') DO ( If Not Exist "c:\temp\%d" Md "c:\temp\%d" Copy "c:\temp\sshot-2018-03-30-[11-20-58].png" "c:\temp\%d\" 1>nul && Del "c :\temp\sshot-2018-03-30-[11-20-58].png" ) ) C:\>(FOR /F "usebackq tokens=3 delims= " %d IN ('sshot-2018-03-30-[11-20-59].png ') DO ( If Not Exist "c:\temp\%d" Md "c:\temp\%d" Copy "c:\temp\sshot-2018-03-30-[11-20-59].png" "c:\temp\%d\" 1>nul && Del "c :\temp\sshot-2018-03-30-[11-20-59].png" ) ) C:\>(FOR /F "usebackq tokens=3 delims= " %d IN ('sshot-2018-03-30-[11-21-01].png ') DO ( If Not Exist "c:\temp\%d" Md "c:\temp\%d" Copy "c:\temp\sshot-2018-03-30-[11-21-01].png" "c:\temp\%d\" 1>nul && Del "c :\temp\sshot-2018-03-30-[11-21-01].png" ) ) C:\>(FOR /F "usebackq tokens=3 delims= " %d IN ('sshot-2018-03-30-[11-21-02].png ') DO ( If Not Exist "c:\temp\%d" Md "c:\temp\%d" Copy "c:\temp\sshot-2018-03-30-[11-21-02].png" "c:\temp\%d\" 1>nul && Del "c :\temp\sshot-2018-03-30-[11-21-02].png" ) ) C:\>(FOR /F "usebackq tokens=3 delims= " %d IN ('sshot-2018-03-30-[11-21-03].png ') DO ( If Not Exist "c:\temp\%d" Md "c:\temp\%d" Copy "c:\temp\sshot-2018-03-30-[11-21-03].png" "c:\temp\%d\" 1>nul && Del "c :\temp\sshot-2018-03-30-[11-21-03].png" ) ) C:\>(FOR /F "usebackq tokens=3 delims= " %d IN ('sshot-2018-03-30-[11-21-04].png ') DO ( If Not Exist "c:\temp\%d" Md "c:\temp\%d" Copy "c:\temp\sshot-2018-03-30-[11-21-04].png" "c:\temp\%d\" 1>nul && Del "c :\temp\sshot-2018-03-30-[11-21-04].png" ) ) C:\>(FOR /F "usebackq tokens=3 delims= " %d IN ('sshot-2018-03-30-[11-21-05].png ') DO ( If Not Exist "c:\temp\%d" Md "c:\temp\%d" Copy "c:\temp\sshot-2018-03-30-[11-21-05].png" "c:\temp\%d\" 1>nul && Del "c :\temp\sshot-2018-03-30-[11-21-05].png" ) ) C:\>(FOR /F "usebackq tokens=3 delims= " %d IN ('sshot-2018-03-30-[11-21-07].png ') DO ( If Not Exist "c:\temp\%d" Md "c:\temp\%d" Copy "c:\temp\sshot-2018-03-30-[11-21-07].png" "c:\temp\%d\" 1>nul && Del "c :\temp\sshot-2018-03-30-[11-21-07].png" ) ) C:\>pause 1>nul Microsoft Windows [Version 6.1.7601] (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены. C:\Users\User>tree.exe c:\temp c:\temp |-- sshot-2018-03-30-[11-20-56].png |-- sshot-2018-03-30-[11-20-57].png |-- sshot-2018-03-30-[11-20-58].png |-- sshot-2018-03-30-[11-20-59].png |-- sshot-2018-03-30-[11-21-01].png |-- sshot-2018-03-30-[11-21-02].png |-- sshot-2018-03-30-[11-21-03].png |-- sshot-2018-03-30-[11-21-04].png |-- sshot-2018-03-30-[11-21-05].png `-- sshot-2018-03-30-[11-21-07].png 0 directories, 10 files C:\Users\User> |
Последний раз редактировалось lSVl, 30-03-2018 в 10:37. Отправлено: 09:50, 30-03-2018 | #13 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать lSVl, Решалась частная задача
Цитата Maza11:
Цитата lSVl:
Для этого надо было вникнуть, как работает скрипт. Частное решение именно Вашей задачи
@Echo Off Set "BoxIn=Z:\Box_In" Set "BoxOut=Z:\Box_In" Set "Mask=sshot-20??-??-??-[??-??-??].png" FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%Mask%" /b /A:-D 2^>nul`) DO ( FOR /F "usebackq tokens=2,3,4 delims=-" %%i IN ('%%f') DO ( If Not Exist "%BoxOut%\%%i-%%j-%%k" Md "%BoxOut%\%%i-%%j-%%k" Copy "%BoxIn%\%%f" "%BoxOut%\%%i-%%j-%%k\" >nul &&Del "%BoxIn%\%%f" ) ) Вот более общее решение - дата определяется не по имени файла, а по дате его последнего изменения. Но и тут засада, общности тоже нет: предполагается, что формат отображения даты в системе дд.мм.гггг
@Echo Off Set "BoxIn=Z:\Box_In" Set "BoxOut=Z:\Box_In" Set "Mask=sshot-20??-??-??-[??-??-??].png" FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%Mask%" /b /A:-D /O:D /T:W 2^>nul`) DO Call :Separator "%BoxIn%\%%f" "%BoxOut%" GoTo :Eof :Separator Set "DName=%~t1" Set "DName=%Dname:~6,4%-%Dname:~3,2%-%Dname:~0,2%" If Not Exist "%~2\%DName%" Md "%~2\%DName%" Copy %1 "%~2\%DName%\" >nul &&Del %1 GoTo :Eof |
||
------- Последний раз редактировалось megaloman, 30-03-2018 в 12:35. Отправлено: 12:07, 30-03-2018 | #14 |
Новый участник Сообщения: 45
|
Профиль | Отправить PM | Цитировать megaloman, Спасибо Вам огромное!
|
Отправлено: 13:57, 30-03-2018 | #15 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] как в Total Commander создать папку с текущей датой? | man1 | Хочу все знать | 1 | 22-05-2015 08:28 | |
VBS/WSH/JS - Перемещение файлов в папку со вчерашней датой | Chingiz87 | Скриптовые языки администрирования Windows | 0 | 15-03-2015 15:53 | |
MySQL - Помогите написать скрипт, создающий отчёт из нескольких таблиц MySQL | RasKolbas | Программирование и базы данных | 2 | 15-06-2013 17:34 | |
CMD/BAT - [решено] копирование файла в папку с датой | foma24 | Скриптовые языки администрирования Windows | 5 | 16-08-2012 12:23 | |
CMD/BAT - [решено] BAT-ник, создающий папку с текущим именем пользователя и копирующий в нее файл | Sirius9764 | Скриптовые языки администрирования Windows | 4 | 03-10-2011 19:34 |
|