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

Компьютерный форум 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

 

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


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

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


megaloman, как прописать встроиный в виндоус 10 архиватор? В какой строке указать тип нужных файлов?

Отправлено: 15:19, 23-06-2022 | #11



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

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


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


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

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


megaloman, да и в целом, я не понимаю, что нужно изменить, что бы у меня работало.

Отправлено: 15:42, 23-06-2022 | #12


Ветеран


Contributor


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

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


Kirill1500, Ставьте задачу подробно. Описывать каждую строку подробно, объемный нудный труд.
Цитата Kirill1500:
как прописать встроиный в виндоус 10 архиватор »
Я не помогу, у меня Win7

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


Отправлено: 15:48, 23-06-2022 | #13


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


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

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


megaloman, задача 1в1 как в теме, перемещаемые файлы в формате .txt, пускай тогда будет WinRAR (C:\Progi\winRAR\WinRAR.exe).

Отправлено: 16:03, 23-06-2022 | #14


Ветеран


Contributor


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

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


Цитата Alexa_:
Создающий в текущем каталоге (в котором находится запускаемый bat-файл) каталог с названием в виде «Screenshots_текущая_дата» и перемещающий туда из текущего каталога все файлы с расширением, указанном в качестве первого параметра, передаваемого из командной строки. »
Цитата megaloman:
Set "OutPref=Screenshots_" »
Здесь прописывается префикс имени создаваемой папки, куда перемещаются файлы, при условии, что батник находится в одной папке с файлами, для сегодня это Screenshots_20220623
Цитата megaloman:
Set "OutLog=Z:\screenshots.found »
Здесь прописан путь и имя лог-файла.
Расширение обрабатываемых файлов указывается при запуске батника. Если Ваш командный файл называется, например, batfile.bat, то для обработки txt-файлов надо запустить:
batfile.bat txt
Цитата:
пускай тогда будет WinRAR
Без создания промежуточной папки
Код: Выделить весь код
@Echo Off
cls
	Set "OutPref=Screenshots_"
	Set "OutLog=Z:\screenshots.found

	Set "Arc=C:\Program Files\WinRAR\WinRAR.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%%"
	"%Arc%" a -r -agYYYYMMDD -ap"%OutPref%%@Tdate%\" -logfp="%OutLog%" -df "%OutPref%.zip" "*.%~1"
pause
Exit /B 0
Префикс, путь к лог-файлу, путь к архивытору пропишите свои.
Вообще-то изначальная постановка слегка замудрёная, но клиент хотел так, получил такое решение и, надеюсь, удовлетворён, так как пометил пост как полезный.
Вообще-то при использовании WinRar батник вообще не нужен. Если Вам нужен результат, а не применение решения задачи, поставленной другим, то вот:
Код: Выделить весь код
"C:\Program Files\WinRAR\WinRAR.exe" a -r -agYYYYMMDD -df -ep2 -logfp="Z:\screenshots.found" "Screenshots_.zip" "*.txt"

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


Отправлено: 18:05, 23-06-2022 | #15



Компьютерный форум 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




 
Переход