Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
Алексей Елисеев
0 / 0 / 0
Регистрация: 16.08.2016
Сообщений: 22
1

Батник для копирования и удаления определенных файлов

16.08.2016, 11:02. Просмотров 2514. Ответов 41
Метки нет (Все метки)

Всем привет!
Задача такая. Есть папка на диске С куда падают файлы разных мастей, в то же время в ней же лежат файлы которые переносить от туда нельзя.
Задача в том, что бы батник переносил пришедшие файлы в другую папку, а эти оставлял на месте. Отсеивать по дате никак, есть вариант что файлы могут редактироваться и по расширению тоже, так как могут приходить файлы с таким же расширением. В то же время эти файлы имеют точные названия и меняться не будут.
Скопировать все приходящее я смог, через xcopy и исключения, а вот удалить эти файлы не знаю как.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2016, 11:02
Ответы с готовыми решениями:

Батник для копирования только новых файлов
Всем привет! Помогите плиз в написании батника для копирования новых файлов. Суть в чём, нужно...

Батник для удаления определённых файлов
Здравствуйте! в корне диска D каждый день создается батником файлы с текущей датой, то есть...

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

Командный файл для копирования, переноса и удаления файлов из задаваемых в меню директорий с выбором действий
Всем доброго времени суток... Нужно написать командный файл для копирования, переноса и удаления...

Батник копирования файлов по первым 28 символам в позициях списка
Добрый день всем, вопрос к профессионалам этого ресурса. +1000 к вашей карме ! Нужно создать...

41
YuS_2
Любознательный
1086 / 621 / 193
Регистрация: 10.03.2016
Сообщений: 1,437
16.08.2016, 11:50 2
Цитата Сообщение от Алексей Елисеев Посмотреть сообщение
Скопировать все приходящее я смог, через xcopy и исключения, а вот удалить эти файлы не знаю как.
Составьте список файлов, которые удалять нельзя и переносите то, что не входит в этот список.
0
Алексей Елисеев
0 / 0 / 0
Регистрация: 16.08.2016
Сообщений: 22
16.08.2016, 11:57  [ТС] 3
список файлов составлен, он их не копирует, но скопированные файлы остаются в начальной папке, их надо как то удалить, как это реализовать я не понимаю
0
Henior
57 / 74 / 15
Регистрация: 24.11.2010
Сообщений: 501
Записей в блоге: 14
16.08.2016, 12:15 4
Команда del тебе в помощь

Добавлено через 1 минуту
Если тебе нужно перенести файлы используй move и удалять не нужно будет!
0
YuS_2
Любознательный
1086 / 621 / 193
Регистрация: 10.03.2016
Сообщений: 1,437
16.08.2016, 12:40 5
Цитата Сообщение от Алексей Елисеев Посмотреть сообщение
список файлов составлен, он их не копирует, но скопированные файлы остаются в начальной папке, их надо как то удалить
Вы составьте условие поточнее, что именно требуется и что никак не получается... приведите примеры (необязательно реальное имя папки и файлов), а лучше покажите то, что уже у Вас получилось - поправить будет проще.
0
Алексей Елисеев
0 / 0 / 0
Регистрация: 16.08.2016
Сообщений: 22
16.08.2016, 13:21  [ТС] 6
поточнее:
в папку С/почта лежат несколько файлов и батников, которые удалять и переносить нельзя. в эту же папку падают абсолютно разные файлы типа доки, пдфки, тифки, рары и все подобное
все что туда падает нужно перенести на D/почта, где их разберут и сделают с ними все что нужно
я через Xcopy копирую все пришедшее используя исключения EXCLUDE, то есть я сделал текстовичек с исключениями, все работает.
но скопированные файлы в папке С/почта никуда не деваются, я ведь копирую. у команды del и move нет вариантов внести те же файлы в исключения, а то все было бы очень просто
как сделать так чтобы в папке с/почта удалить все файлы кроме 5 файлов которые удалять нельзя, имена этих файлов не меняются, расширения соответственно тоже, а вот все что приходит может по расширению совпасть с ними
и не плохо бы что бы перед удалением он проверил что этот файл скопирован уже в D/почта, потому как файлы приходят в С/почта в разные моменты времени совершенно хаотично
как смог объяснил...))

Добавлено через 16 минут
батник пока вот такой
Windows Batch file
1
xcopy u:\тест u:\почта /EXCLUDE:u:\УИТ\Елисеев\тест\exclude.txt
исключения такие
Код
файл1.ррр
файл2.ргт
файл3.рпр
типа того

можно ли написать что то типа
Код
del u:\тест *.* -файл1.ррр -файл2.ргт -файл3.рпр
?

Добавлено через 40 секунд
то есть удалить все файлы кроме нужных
0
Henior
57 / 74 / 15
Регистрация: 24.11.2010
Сообщений: 501
Записей в блоге: 14
16.08.2016, 14:18 7
Windows Batch file
1
2
xcopy u:\тест u:\почта /EXCLUDE:u:\УИТ\Елисеев\тест\exclude.txt
FOR /F "usebackq delims=" %%f IN (`xcopy u:\тест u:\ /L /S /EXCLUDE:u:\УИТ\Елисеев\тест\exclude.txt`) DO Del "%%f"
Добавлено через 11 минут
У меня все работает! Нужно в exclude.txt записать вот так

Код
\файл1.ррр
\файл2.ргт
\файл3.рпр
1
Алексей Елисеев
0 / 0 / 0
Регистрация: 16.08.2016
Сообщений: 22
16.08.2016, 14:34  [ТС] 8
спасибо, работает)) объясните почему именно так?
0
Henior
57 / 74 / 15
Регистрация: 24.11.2010
Сообщений: 501
Записей в блоге: 14
16.08.2016, 14:46 9
Цитата Сообщение от Алексей Елисеев Посмотреть сообщение
объясните почему именно так?
Что конкретно объяснить?
0
Алексей Елисеев
0 / 0 / 0
Регистрация: 16.08.2016
Сообщений: 22
16.08.2016, 14:58  [ТС] 10
разобрался, спасибо большое!
0
Henior
57 / 74 / 15
Регистрация: 24.11.2010
Сообщений: 501
Записей в блоге: 14
16.08.2016, 14:59 11
Не за что
0
Алексей Елисеев
0 / 0 / 0
Регистрация: 16.08.2016
Сообщений: 22
16.08.2016, 15:26  [ТС] 12
кроме одного, почему конечный путь просто диск u:\ ?
0
Henior
57 / 74 / 15
Регистрация: 24.11.2010
Сообщений: 501
Записей в блоге: 14
16.08.2016, 16:01 13
Цитата Сообщение от Алексей Елисеев Посмотреть сообщение
кроме одного, почему конечный путь просто диск u:\ ?
У тебя уже скопировались нужные тебе файлы в директорию u:\почта и когда команда xcopy повторно будет выполняться, то скрипт зависнит, т.к. как это разруливать она не знает. Ей нужно сформировать список, а список уже есть. Можешь указать любую существующую директорию, в которой нет этих файлов, результат будет тот же!
1
Алексей Елисеев
0 / 0 / 0
Регистрация: 16.08.2016
Сообщений: 22
16.08.2016, 16:21  [ТС] 14
больше вопросов не осталось)
0
YuS_2
Любознательный
1086 / 621 / 193
Регистрация: 10.03.2016
Сообщений: 1,437
16.08.2016, 18:07 15
Цитата Сообщение от Алексей Елисеев Посмотреть сообщение
можно ли написать что то типа del u:\тест *.* -файл1.ррр -файл2.ргт -файл3.рпр ?
то есть удалить все файлы кроме нужных
Да, можно и так:
Windows Batch file
1
2
3
4
5
@echo off
set "src=c:\почта"
set "dst=d:\почта"
robocopy "%src%" "%dst%" "*.*" /xf "%src%\файл1.ррр" "%src%\файл2.ргт" "%src%\файл3.рпр" /mov 
pause
или так:
Windows Batch file
1
2
3
4
5
@echo off
set "src=c:\почта"
set "dst=d:\почта"
robocopy "%src%" "%dst%" "*.*" /xf "файл1.ррр" "файл2.ргт" "файл3.рпр" /mov 
pause
если вдруг будут появляться одноименные файлы, уже существующие в целевой папке, то можно добавить ключ /is, тогда файлы будут перемещены с перезаписью.
1
Алексей Елисеев
0 / 0 / 0
Регистрация: 16.08.2016
Сообщений: 22
17.08.2016, 15:22  [ТС] 16
появилась новая задача... в папку c:\входящие попадают разного рода файлы, мне нужно просто перенести файлы начинающиеся на UVAN и UVBN в папку c:\архив при условии что в файле будет слово "принят", а в противном случае чтобы он выдал мне сообщение о том что файл не принят. UVAN и UVBN это файлы квитков о принятии или не принятии отправленных мною файлов. Как проверить текст внутри файла? фалы xml
0
Henior
57 / 74 / 15
Регистрация: 24.11.2010
Сообщений: 501
Записей в блоге: 14
17.08.2016, 15:26 17
Найти слово в текстовом файле
0
alpap
1888 / 1384 / 457
Регистрация: 26.04.2015
Сообщений: 4,698
18.08.2016, 01:29 18
Windows Batch file
1
2
3
4
5
6
@echo off
set "d_in=c:\входящие"
set "d_out=c:\архив"
set "sp=принят"
for /f "delims=:" %%a in ('findstr/rc:"\<принят\>" "%d_in%\UVAN*" "%d_in%\UVBN*"') do move "%%a" "%d_out%\%%~nxa"
exit
.
0
Алексей Елисеев
0 / 0 / 0
Регистрация: 16.08.2016
Сообщений: 22
18.08.2016, 09:07  [ТС] 19
данный код попробовал, но ничего не происходит, где то закралась ошибка которую я не вижу... может из за русских букв в названиях папок?
0
alpap
1888 / 1384 / 457
Регистрация: 26.04.2015
Сообщений: 4,698
18.08.2016, 09:37 20
Цитата Сообщение от Алексей Елисеев Посмотреть сообщение
может из за русских букв в названиях папок?
У меня в AkelPade, по-умолчанию, создание в кодировке OEM 866, чего и вам советую. Или вначале кода напишите строку
Windows Batch file
1
>nul chcp 1251
но информация в консоли (видимая) пострадает.
0
18.08.2016, 09:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2016, 09:37

Батник удаления файлов во вложенных папках
Добрый день. Есть папка ГлавнаяПапка, в ней есть папки Папка1, Папка2, Папка3, Папка4 и т.д. В...

Батник для удаления
Доброго времени суток! Помогите написать батничек. Нужно сделать чтобы файлы с определенными...

Батник для копирования самого нового файла
Всем привет. В создании bat файлов я полнейший ноль, второй день рою интернеты, но чем дальше в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru