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

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

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

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


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

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


Добрый день.хочу сделать батник ,который бы удалял бы все файлы и папки из той папки в которой он запущен. вот что у меня вышло
Код: Выделить весь код
set FILEMASK=*.*  
set FILEPATH=%CD%  
for /f "tokens=* delims=" %%i in ('dir /b /s "%FILEPATH%\%FILEMASK%"') do if /i not "%%i" == "%%~dpi%~nx0" del  /f /s /q tokens=* delims= %%i
но данный вариант почему то удаляет сам батник.подскажите что не так

Отправлено: 23:51, 25-08-2012

 

Ветеран


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

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


Код: Выделить весь код
@echo off

pushd "%~dp0" || goto:eof
for /f "tokens=*" %%i in ('dir /b') do if not "%%~nxi"=="%~nx0" del "%%i"
popd
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:30, 26-08-2012 | #2



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

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

7ka 7ka вне форума

Аватара для 7ka

Старожил


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

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


Цитата composter:
хочу сделать батник ,который бы удалял бы все файлы и папки из той папки в которой он запущен»
интересует тот-же вопрос, только что бы удалял всю папку со всем содержимым, т.е. включая и себя. возможно ли такое?

Отправлено: 16:53, 26-03-2013 | #3


Ветеран


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

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


7ka,
Код: Выделить весь код
rd /s /q "%~dp0"
Соответственно он не удалит папку, в которой находится, если папка открыта другой программой

Отправлено: 19:28, 26-03-2013 | #4


Пользователь


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

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


Код: Выделить весь код
cd..
rd /s /q "%~dp0"
А это удалит и саму папку, если запускать с проводника или ярлыка
и при указанном Foreigner-ом условии.

-------
Alex Dragokas


Отправлено: 23:20, 26-03-2013 | #5

7ka 7ka вне форума

Аватара для 7ka

Старожил


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

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


Foreigner, Diskretor, после отработки батника остается висеть окно командной строки. Наверное мне нужно было объяснить все условия запуска:
Запуск происходит со съемного носителя, запускаю первый батник с флешки, он находит флешку в системе и определенную папку на ней, копирует ее в путь %SystemDrive%, запускает из скопированной папки второй батник и завершает свою работу. Второй батник отработав должен удалить скопированную ранее со съемного носителя папку и завершить свою работу но, раз он находится в той-же директории и запущен то после отработки остается висеть окно командной строки с надписью "Системе не удается найти указанный путь.", сама-же папка удалется полностью, вместе со вторым батником. Вот в этом и стоит задача: как закрыть окно командной строки?!

Отправлено: 07:26, 27-03-2013 | #6


Пользователь


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

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


Экспромт ответ: команда Exit.

А по факту, тяжело Вам что либо подсказать без кода.
Вероятно, у Вас последующий батник запускается командой Start место Call, поэтому окно и остается висеть.

-------
Alex Dragokas


Отправлено: 16:12, 27-03-2013 | #7


Ветеран


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

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


Я не знаю, как запускается второй батник, но вполне можно его запустить так:
Код: Выделить весь код
2>nul cmd /c "%SystemDrive%\Folder\second.cmd"
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:33, 27-03-2013 | #8

7ka 7ka вне форума

Аватара для 7ka

Старожил


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

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


Diskretor, Foreigner

Тело первого батника copy2start.bat:
Код: Выделить весь код
@echo off
title Unattended Install
taskkill /f /im explorer.exe>nul
echo ================================================================================
echo				Автоматическая установка приложений
echo ================================================================================
echo.
echo				 Копирование установочных файлов
echo.
echo				    Пожалуйста, подождите...
for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%d:\copy2start.bat set diskdrive=%%d:
robocopy %diskdrive%\install /e /ns /nc /nfl /ndl /np /eta /njh /njs %systemdrive%\install
echo.
echo			      Копирование завершено!
%systemdrive%\install\start.bat
exit
Тело второго батника start.bat (весь код не буду приводить, только начало и конец):
Код: Выделить весь код
@echo off
title Unattended Install
echo ================================================================================
echo				Автоматическая установка приложений
echo ================================================================================
echo.
echo				       Установка приложений
echo.
echo				    Пожалуйста, подождите...
start /wait %systemdrive%\install\[программа.exe] [/ключ]
start /wait %systemdrive%\install\[программа.exe] [/ключ]
start /wait %systemdrive%\install\[программа.exe] [/ключ]
etc...
echo.
echo					Установка завершена!
shutdown -s -t 10 -f
rd /s /q %systemdrive%\install
exit

Отправлено: 17:56, 28-03-2013 | #9

7ka 7ka вне форума

Аватара для 7ka

Старожил


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

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


Актуально!

Отправлено: 20:20, 29-03-2013 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Удаление всех файлов из папки 7human7 Скриптовые языки администрирования Windows 50 07-11-2023 21:39
CMD/BAT - [решено] Удаление Папки и всех подпапок и файлов sashok60 Скриптовые языки администрирования Windows 16 02-03-2016 08:54
CMD/BAT - Удаление всех файлов кроме одного в подпапках SELFY Скриптовые языки администрирования Windows 2 29-07-2012 15:34
Любой язык - удаление всех символов кроме шаблона gendalf Скриптовые языки администрирования Windows 3 19-07-2012 16:21
Удаление всех папок и файлов из папки c:\Temp DIKPro Microsoft Windows NT/2000/2003 10 15-08-2006 16:20




 
Переход