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

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

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

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


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

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


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


@echo off
setlocal enabledelayedexpansion
set /p "question=Vvedit imena failov, rosdelayja ich probelamy: "
set /p "question2=Vvedit razpolozchenyye failov:"
for /F "tokens=* delims= " %%h in ("%question%")
do for /D %%d in ("\\%%h\%question2%")
del "%%d" /s /q
pause
exit

Отправлено: 14:59, 28-03-2020

 

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

fascinating rhythm


Moderator


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

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


А зачем вводить имена вручную? Чем обусловлена такая необходимость?

-------
Скачать ffmpeg для Windows: https://ffmpeg.zeranoe.com/builds/

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

Отправлено: 15:34, 28-03-2020 | #2



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

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


Ветеран


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

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


Цитата Devddd:
Vvedit imena failov, rosdelayja ich probelamy »
а если имена файлов имеют пробелы?
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:02, 28-03-2020 | #3


Ветеран


Contributor


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

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


DJ Mogarych, alpap, судя по формулировке и тексту в коде — лабораторка.

Отправлено: 17:45, 28-03-2020 | #4


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


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

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


Есть условие, что названия файлов и их размещения задавать через командную строку.

Отправлено: 18:24, 28-03-2020 | #5


Ветеран


Contributor


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

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


Цитата Devddd:
названия файлов и их размещения задавать через командную строку. »
Код: Выделить весь код
@Echo Off
	FOR %%f IN (%*) Do Del "%%~f"
	Del %*
Exit /B
Цитата alpap:
для вашего задания, собственно, кроме этого условия и команд-то никаких практически не нужно: »
- Упрощение по идее alpap

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


Последний раз редактировалось megaloman, 28-03-2020 в 21:15.

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

Отправлено: 20:49, 28-03-2020 | #6


Ветеран


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

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


Devddd, для вашего задания, собственно, кроме этого условия и команд-то никаких практически не нужно:
Код: Выделить весь код
@echo off
echo Введите путь к папке с файлами& set /p spath=
echo Введите имена файлов, обрамляя их парными кавычками ["file.txt" "name 2.txt"]& set /p sname=

pushd "%spath%"
 del %sname%
popd
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:57, 28-03-2020 | #7


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


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

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


Спасибо большое

Отправлено: 21:05, 28-03-2020 | #8


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


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

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


Всем привет! Чтобы не создавать новую тему спрошу в этой.

Есть такая структура каталогов:
D:\IS\users\
D:\IS\users\Config\
D:\IS\users\Config\TEST
D:\IS\users\Home\
D:\IS\users\Home\TEST
D:\IS\users\Temp\
D:\IS\users\Temp\TEST

Как удалить из каталогов Config, Home, Temp другие подкаталоги, оставив подкаталог TEST?

Нашел два варианта, но не получилось их модифицировать, а в текущем виде они удаляют все каталоги из D:\IS\users\
Код: Выделить весь код
for /d %%i in (D:\IS\users\*) do (
    echo %%~nxi | findstr /v "%tapult%" 1>nul && rd /s /q "%%i"
)
Код: Выделить весь код
Set Target=D:\IS\users\
Set NoDelete=TEST

For /F "tokens=*" %%D In ('Dir %Target% /A:D /B') Do (
If /I Not "%%D"=="%NoDelete%" (RD /S /Q "%Target%\%%D")
)

Отправлено: 00:04, 07-04-2020 | #9


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
	Call :DelDir "D:\IS\users\Config" "Test"
	Call :DelDir "D:\IS\users\Home"   "Test"
	Call :DelDir "D:\IS\users\Temp"   "Test"
Exit /B

:DelDir
	If Not Exist "%~1" (Echo !!! %1 not found &Exit /B 1)
	FOR /F "usebackq delims=" %%d IN (`2^>nul Dir /B /A:D "%~1"`) DO (
		If /I Not "%%~d"=="%~2" Rd /S /Q "%~1\%%d"
	)
Exit /B

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

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

Отправлено: 07:56, 07-04-2020 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Удаление символов в конце имени файлов в папке Viktor99 Скриптовые языки администрирования Windows 9 02-06-2019 23:27
CMD/BAT - Удаление файлов старше N дней в подпаках, кроме файлов в самой папке Negtm Скриптовые языки администрирования Windows 4 03-02-2017 15:30
CMD/BAT - [решено] Удаление всех файлов кроме указанных, с содержанием указанных букв в названии mrG0bliN Скриптовые языки администрирования Windows 11 15-04-2016 14:07
VBS/WSH/JS - VBS удаление файлов, по маске и папок из указанных расположений. Karotin Скриптовые языки администрирования Windows 0 24-11-2015 15:05
CMD/BAT - [решено] Удаление файлов и папок кроме указанных. mrG0bliN Скриптовые языки администрирования Windows 20 07-11-2015 03:59




 
Переход