Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/57: Рейтинг темы: голосов - 57, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 10.01.2017
Сообщений: 3
1

Удаление из папки всех файлов, кроме указанных

10.01.2017, 07:31. Показов 10610. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дело вот какое. Попробую обстоятельно объяснить.
Есть ПАПКА(корневая)
содержит:
**.bat файлы- удалить
1.bat- нужно оставить
2.bat- нужно оставить
файл с расширением .X- нужно оставить
файл с расширением .Y- нужно оставить

две ПОДПАПКИ
*1- удалить содержимое папку оставить
*2- удалить содержимое папку оставить

Перелопатил много текста. пришел к выводу, что нужно использовать список и исключением этих 1.bat 2.bat файлов.
в корневом удалять только файлы с расширением .bat
подкаталогах удалять все файлы(там файлы с другими расширениями, подкаталогов в этих папках нет.
Не кидайте камнями и прочим) Помогите с кодом пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2017, 07:31
Ответы с готовыми решениями:

Удаление всех файлов и папок, кроме указанных в значении задаваемой переменной
rem очистка всего кроме папок rem...

Удаление из папки всех файлов (включая и другие папки), которые не содержат определённое слово
Ситуация следующая: Есть Главный каталог в котором содержится очень много папок в которых имеются...

Удаление всех файлов рекурсивно в папках с одной и той же структурой, кроме нескольких файлов
Имеется бэкап сайтов после переезда с сервера. Можете помочь с реализацией Имеется такая...

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

13
Любознательный
6543 / 1910 / 333
Регистрация: 10.03.2016
Сообщений: 4,353
10.01.2017, 12:16 2
Лучший ответ Сообщение было отмечено Sergg31 как решение

Решение

Windows Batch file
1
2
3
4
5
6
7
@echo off
set "fld=c:\ПАПКА"
for /f "delims=" %%i in ('dir /b/s/a-d "%fld%\*.bat"') do if not "%%~ni"=="1" if not "%%~ni"=="2" del /f /q /a "%%i"
rd /s/q "%fld%\1"
rd /s/q "%fld%\2"
md "%fld%\1"
md "%fld%\2"
0
0 / 0 / 0
Регистрация: 10.01.2017
Сообщений: 3
10.01.2017, 16:33  [ТС] 3
Спасибо большое! Закинул через шелл в задания(интервал 30 минут) То что доктор прописал). а подобное но с файлом списка исключений можно посмотреть? я просто как увидел код так и вкурил. не знал что можно перечислить файлы исключения так.
0
Любознательный
6543 / 1910 / 333
Регистрация: 10.03.2016
Сообщений: 4,353
10.01.2017, 19:16 4
Цитата Сообщение от Sergg31 Посмотреть сообщение
подобное но с файлом списка исключений можно посмотреть?
Чтобы продать что-то ненужное, надо сначала купить что-то ненужное (c) Матроскин

Под другую задачу и код будет другим, но для этого необходимо описать эту задачу.
0
enquire
10.01.2017, 19:46
  #5

Не по теме:

Чтобы продать что-то ненужное, надо сначала купить что-то ненужное (c) Матроскин
если память не изменяет, то дядя Фёдор

0
YuS_2
10.01.2017, 20:53
  #6

Не по теме:

Цитата Сообщение от enquire Посмотреть сообщение
если память не изменяет
В первоисточнике это слова кота.

0
enquire
10.01.2017, 22:22
  #7

Не по теме:

Цитата Сообщение от YuS_2 Посмотреть сообщение
В первоисточнике это слова кота.
YuS_2, не принципа для, а истины ради
Трое из Простоквашино
Кликните здесь для просмотра всего текста

0
YuS_2
11.01.2017, 23:43
  #8

Не по теме:

Цитата Сообщение от enquire Посмотреть сообщение
не принципа для, а истины ради
Переходим в ЛС, ибо тут не место...

0
4336 / 2126 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
12.01.2017, 01:17 9
Sergg31,
Допустим такой вариант:
Windows Batch file
1
2
3
4
5
6
7
8
@echo off
set "d=papka"
::Если удалять все bat кроме определенных
::for /f "delims=" %%a in ('dir /a-d/b "%d%\*.bat"^|findstr /rv /c:"^1.bat$" /c:"^2.bat$"') do del /q "%d%\%%a"
::Если удалять все кроме определенных bat и с определенным расширением
for /f "delims=" %%a in ('dir /a-d/b "%d%"^|findstr /rv /c:"^1.bat$" /c:"^2.bat$" /c:".X" /c:".Y"') do del /q "%d%\%%a"
for /f "delims=" %%a in ('dir /ad/b "%d%\*1" "%d%\*2"') do pushd "%d%\%%a"& 2>nul rd /s/q "."& popd
exit
0
0 / 0 / 0
Регистрация: 10.01.2017
Сообщений: 3
14.01.2017, 03:15  [ТС] 10
Есть ПАПКА(корневая)
содержит:
Фалы с расширением .txt и другие файлы.
**.txt файлы- удалить
Файлы с другим расширением в этой КОРНЕВОЙ папке-оставить
*
Две ПОДПАПКИ
В подпапке *1- удалить файл z.x, другие файлы в этой папке оставить
В подпапке *2- удалить файл z.y, другие файлы в этой папке оставить
Помогите ребят, буду очень признателен. Спасибо.
0
alpap
14.01.2017, 03:19
  #11

Не по теме:

вышеприведенных вариантов более чем достаточно, тумблер "лень" в полож. "выкл" и вперед!

0
2 / 2 / 1
Регистрация: 25.06.2013
Сообщений: 308
22.12.2023, 06:36 12
Извините, что раскопал динозавра, но стоит такая задача:
Удалить всё в папке по пути C:\MyFiles, кроме конкретно указанных файлов, например
*.* кроме 1.txt, 2.bat, 3.jpg.
Как это сделать?
0
6242 / 2117 / 334
Регистрация: 10.12.2013
Сообщений: 7,292
22.12.2023, 09:17 13
Цитата Сообщение от Рафик Посмотреть сообщение
Извините, что раскопал динозавра, но стоит такая задача:
Удалить в C:\MyFiles\*.* кроме 1.txt, 2.bat, 3.jpg


удивишься, но

PowerShell
1
del C:\MyFiles\*.* -exclude 1.txt, 2.bat, 3.jpg
1
2 / 2 / 1
Регистрация: 25.06.2013
Сообщений: 308
22.12.2023, 10:39 14
volodin661, нет, не работает. Возможно вы спутали с xcopy /exclude

---------
update
---------
Не заметил, что вы написали на PowerShell.

А если нужно удалить и папки тоже? И без подтверждения

Добавлено через 14 минут
Разобрался.
PowerShell
1
powershell -Command "del C:\MyFiles\* -exclude 1.txt, 2.bat, 3.jpg -Recurse -Force"
0
22.12.2023, 10:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2023, 10:39
Помогаю со студенческими работами здесь

Удаление всех файлов, кроме созданных последними 10-ти
Всем привет!Помогите пожалуйста сделать батничек, который будет удалять с папки D:\\1 все файлы, но...

Удаление в заданных каталогах всех файлов и каталогов, указанных в виде списка, занесенного в текстовый файл
Создайте командный файл, который удаляет все файлы и каталоги, в заданных каталогах, указанные в...

Удаление в заданных каталогах всех файлов и каталогов, указанных в виде списка, занесенного в текстовый файл
Создайте командный файл, который удаляет все файлы и каталоги, в заданных каталогах, указанные в...

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru