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

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

Ответить
Настройки темы
CMD/BAT - [решено] Нужно переместить файлы по определённым условиям и заархивировать

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


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

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


Доброго всем вечера. Помогите молодому подавану.
Нужны следующие действия в одном BAT файле:
  1. Создающий в текущем каталоге (в котором находится запускаемый bat-файл) каталог с названием в виде «Screenshots_текущая_дата» и перемещающий туда из текущего каталога все файлы с расширением, указанном в качестве первого параметра, передаваемого из командной строки.
  2. Записывающий названия всех перемещенных файлов в файл d:\screenshots.found (дописывает в конец файла или создает новый, если такого не было), который находится в том же каталоге, что и запускаемый bat-файл.
  3. Архивирующий папку с перемещенными файлами и удаляющий ее оригинал.
  4. Ожидающий нажатия любой клавиши для своего завершения.

Отправлено: 21:10, 11-03-2019

 

Ветеран


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

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


Цитата Alexa_:
Создающий в текущем каталоге (в котором находится запускаемый bat-файл)… »
Текущий каталог и каталог, в котором находится пакетный файл — это разные сущности. Иногда эти каталоги могут и совпадать, но Вы должны отчётливо понимать, что это две разные сущности.

Цитата Alexa_:
Архивирующий папку с перемещенными файлами и удаляющий ее оригинал. »
1. Как, чем и во что «архивирующий»?
2. Невозможно удалить текущий каталог. Тем более, какой смысл его удалять, если в нём же мы создаём каталог с архивом?!

Отправлено: 01:59, 12-03-2019 | #2



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

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


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


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

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


Цитата Iska:
Цитата Alexa_:
Создающий в текущем каталоге (в котором находится запускаемый bat-файл)… »
Текущий каталог и каталог, в котором находится пакетный файл — это разные сущности. Иногда эти каталоги могут и совпадать, но Вы должны отчётливо понимать, что это две разные сущности.

Цитата Alexa_:
Архивирующий папку с перемещенными файлами и удаляющий ее оригинал. »
1. Как, чем и во что «архивирующий»?
2. Невозможно удалить текущий каталог. Тем более, какой смысл его удалять, если в нём же мы создаём каталог с архивом?!
Смысл такой:
Закидываем батник в папку с разными файлами. "mover.bat jpeg" батник согласно параметра перемещает файлы заданного типа в им же созданную ПАПКУ screenshots_%date%. Затем эту созданную папку архивирует встроенным в винду архиватором. После архивации папка screenshots_%date% удаляется.
Надеюсь понятно написал? Вы просто не внимательно прочитали текст. Там про создание папки с текущей датой в имени написано.

Отправлено: 10:05, 12-03-2019 | #3


Ветеран


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

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


Цитата Alexa_:
Затем эту созданную папку архивирует встроенным в винду архиватором. »
Это, простите, каким же?

Отправлено: 10:27, 12-03-2019 | #4

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


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

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


Цитата Iska:
Это, простите, каким же? »
zipfldr.dll, полагаю, "Сжатые ZIP-папки".

-------
Mikhail Zhilin


Отправлено: 11:16, 12-03-2019 | #5


Ветеран


Contributor


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

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


Архивирую семьзипом
Код: Выделить весь код
@Echo Off
cls
	Set "OutPref=Screenshots_"
	Set "OutLog=Z:\screenshots.found

	Set "Arc=C:\Program Files\7-Zip\7zG.exe" 

	If "%~1"=="" (
		Echo %~dpnx0 запущен без аргумента &Echo.
		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,8%%"
	2>nul Md "%OutPref%%@Tdate%"
	FOR %%f IN ("*.%~1") DO (
	        >>"%OutLog%" Echo "%~dp0%%f" 		-^> "%~dp0%OutPref%%@Tdate%\"
		>nul Move /Y "%%f" "%OutPref%%@Tdate%\"
	)
	"%Arc%" a -r -sdel "%OutPref%%@Tdate%" "%OutPref%%@Tdate%\"
pause
Exit /B 0

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

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

Отправлено: 12:09, 12-03-2019 | #6


Ветеран


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

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


Цитата mwz:
zipfldr.dll, полагаю, "Сжатые ZIP-папки". »
На пакетных файлах тогда, полагаю, совсем никак. На WSH — будут проблемы при заметных объёмах (особенность реализации объекта Automation Проводника, он работает в асинхронном режиме: возврат управления в скрипт осуществляется сразу, до завершения работы метода, как следствие: завершился скрипт — «схлопнулся» и объект). На PoSH — так там нынче и своя реализация есть .

Отправлено: 12:53, 12-03-2019 | #7


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


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

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


megaloman, спасибо, задача выполнена.

Отправлено: 23:12, 12-03-2019 | #8


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


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

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


megaloman, День добрый. Можете подробно объяснить написанные команды?

Отправлено: 13:42, 18-06-2022 | #9


Ветеран


Contributor


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

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


Kirill1500, День добрый. Что конкретно не понятно?

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


Отправлено: 10:13, 20-06-2022 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] переместить файлы по папкам согласно списку shadowbat Скриптовые языки администрирования Windows 9 17-11-2023 14:51
CMD/BAT - заархивировать файлы в архивы с форматом имени ММГГГГ Fatall_Error Скриптовые языки администрирования Windows 2 06-06-2016 13:56
CMD/BAT - [решено] Нужно сделать батник который по очереди будет запускать все файлы с определённым расш DoroViska Скриптовые языки администрирования Windows 2 20-06-2014 13:35
CMD/BAT - [решено] Как заархивировать файлы с датой создания этих файлов? yaoleg2 Скриптовые языки администрирования Windows 1 01-09-2013 03:09
CMD/BAT - Переместить файлы старше 3-х месяцев с одного каталога в другой по ftp hss83 Скриптовые языки администрирования Windows 0 05-12-2012 12:31




 
Переход