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

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

Ответить
Настройки темы
CMD/BAT - перенос файлов по маскам в другие директории

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


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

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


Добрый день.

В папке находятся архивы .arj с разными названиями (в течения дня поступают новые). Необходимо что бы файлы которые начинаются по маскам %CUR% %MET% %CMT%, переносились в другую директорию, а все остальные файлы в этой папке (не подходящие под маски) перекидывались в другую директорию.

Отправлено: 13:03, 21-09-2023

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


Цитата Berezkinav:
файлы которые начинаются по маскам %CUR% %MET% %CMT% »
Пример приведите, непонятно, что это за маски применительно к файлам.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 14:05, 21-09-2023 | #2



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

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


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


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

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


Updates_to_reference_books_and_courses\Sourse в данной директории лежат файлы с названием CURM*; CURD*; METD*; и другие рандомные.
необходимо что файлы которые имеют название CURM*; CURD*; METD* переносились в Updates_to_reference_books_and_courses\Temp\Rate, все остальные файлы которые есть (не подходящие под название) переносились Updates_to_reference_books_and_courses\Temp\Spravochniki

Отправлено: 14:27, 21-09-2023 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


Код: Выделить весь код
move Updates_to_reference_books_and_courses\Sourse\CURM* Updates_to_reference_books_and_courses\Temp\Rate
move Updates_to_reference_books_and_courses\Sourse\CURD* Updates_to_reference_books_and_courses\Temp\Rate
move Updates_to_reference_books_and_courses\Sourse\METD* Updates_to_reference_books_and_courses\Temp\Rate
move Updates_to_reference_books_and_courses\Sourse\* Updates_to_reference_books_and_courses\Temp\Spravochniki

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 14:34, 21-09-2023 | #4


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


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

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


нашел вариант скрипта на терминале, немного неправильно сформировал запрос
необходима копирование части файлов по определённой маске (CURD*.ARJ CURM*.ARJ METD*.ARJ) в первую папку (Rate), а все оставшиеся файлы в другую папку (Spravochniki). За один цикл, без использования временной папки (сетевая папка Source где лежат файлы динамически обновляемая)
set LOG=C:\Updates_to_reference_books_and_courses\log.txt
set Sourse=C:\Updates_to_reference_books_and_courses\Sourse
set Rate=C:\Updates_to_reference_books_and_courses\Temp\Rate
set Sprav=C:\Updates_to_reference_books_and_courses\Temp\Spravochniki

pause

for %%f in (%Sourse%\*.ARJ) do if defined %Sourse%\CURD* == %%f xcopy %%f %Sprav% /Y >>%LOG%

pause

for %%f in (%Sourse%\*.ARJ) do if NOT %%f==CURD*.ARJ & NOT %%f==CURM*.ARJ & NOT %%f==METD*.ARJ xcopy %%f %Arhiv%\%date%\ /Y >>%LOG% & xcopy %%f %Sprav% /Y >>%LOG%

pause

for %%f in (%Sourse%\CURD*.ARJ) do xcopy %%f %Arhiv%\%date%\ /Y >>%LOG% & xcopy %%f %Rate% /Y >>%LOG% & del /s /q %%f >>%LOG%
for %%f in (%Sourse%\CURM*.ARJ) do xcopy %%f %Arhiv%\%date%\ /Y >>%LOG% & xcopy %%f %Rate% /Y >>%LOG% & del /s /q %%f >>%LOG%
for %%f in (%Sourse%\METD*.ARJ) do xcopy %%f %Arhiv%\%date%\ /Y >>%LOG% & xcopy %%f %Rate% /Y >>%LOG% & del /s /q %%f >>%LOG%

pause

копирование по маскам происходит, а другие оставшиеся (не подходящие под маску) не копируются

Отправлено: 14:55, 21-09-2023 | #5


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
Cls
	Set "BoxIn=Z:\Updates_to_reference_books_and_courses\Sourse"
	Set "Rate=Z:\Updates_to_reference_books_and_courses\Temp\Rate"
	Set "Sprav=Z:\Updates_to_reference_books_and_courses\Temp\Spravochniki"
	Set "LOG=Z:\Updates_to_reference_books_and_courses\log.txt"

	Set "Prefix=CURD CURM METD"
	Set "Mask=*.ARJ"

	>>"%LOG%" (Echo. &Echo +++++ %Date%  %Time%)
	Pushd "%BoxIn%" && (
		>>"%LOG%" (
			For %%f In (%Prefix%) Do 2>nul Move "%%f%Mask%" "%Rate%\"
			2>nul Move "%Mask%" "%Sprav%\"
		)
		Popd
	)
Pause
Exit /B 0

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


Отправлено: 16:36, 21-09-2023 | #6


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


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

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


правильно понимаю, данный параметр Set "Prefix=CURD CURM METD" будет искать именно по такому названию с пробелами? или одну из этих масок (перечисление)?

Отправлено: 10:27, 22-09-2023 | #7


Ветеран


Contributor


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

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


Berezkinav, неправильно. Вы задаёте набор префиксов к каждому из которых приделывается маска. Без пробелов. Например,
Цитата Berezkinav:
CURD*.ARJ CURM*.ARJ METD*.ARJ »
и эти файлы перемещаются в указанную папку (путь нарисуйте свой), всё что останется по маске без префикса - в другую папку. А в чем проблема протестировать?

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


Отправлено: 13:53, 22-09-2023 | #8



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PHP - получить список файлов директории по фильтру xNiSSaNx Вебмастеру 1 18-06-2013 06:34
CMD/BAT - [решено] Перемещение файлов по списку в заданные директории 929151 Скриптовые языки администрирования Windows 4 16-11-2012 01:56
Интерфейс - После переустановки винды,папки главной директории стали другие? andrusha0 Microsoft Windows 2000/XP 1 30-05-2011 07:29
CMD/BAT - [решено] Копирование папок и файлов по маскам dorosa Скриптовые языки администрирования Windows 10 28-01-2011 14:18
Установщик обновлений, поиск файлов по двум маскам Lubitel Softa AutoIt 6 03-10-2010 03:35




 
Переход