@Krill1927

Как написать bat-ник с «самоуничтожением»?

Здравствуйте я потихоньку углубляюсь в "computer science".
И мне захотелось написать что то на подобии вируса.
Правда он ничего не делает просто существует.
А после выполнения "вируса" должен запуститься bat-ник.
Цель этого батника уничтожить всю директорию в которой он находится(вместо с собой).

Я попытался но вот что получил:

Процесс не может получить доступ к файлу, так как этот файл занят другим процессом


"Код" который я использовал:
@echo off
rd /s /q %cd%
pause


PS после этой ошибки сам bat-ник удаляется оставляя директорию в которой находился
  • Вопрос задан
  • 181 просмотр
Пригласить эксперта
Ответы на вопрос 5
wisgest
@wisgest
Слесарь холодной обработки металла
Нельзя удалить каталог, если он (или его подкаталоги) является рабочим для какого либо процесса. Перед rd попробуй изменить рабочий каталог:
cd \
rd /s /q %0\..
Ответ написан
Ezhyg
@Ezhyg
Для примерно того же, использую nircmd.
батник запускает скрипт для nircmd удаляющий мусор из папки, а потом удаляет, скрипт, батник и саму программу nircmd.
Del_AppleTrash.bat
@echo off
echo Удаление огрызочного мусора
nircmd.exe elevatecmd script Del_AppleTrash.ncl

Del_AppleTrash.ncl
execmd del ".DS_Store" /F /S
execmd del "Del_AppleTrash.ncl" /F
execmd del "nircmd.exe" /F
execmd del "Del_AppleTrash.bat" /F
Ответ написан
keeplod
@keeplod
Через планировщик заданий.
Ответ написан
DMGarikk
@DMGarikk
Software Developer
покопайте в сторону
start "rd /s /q %cd%"
мне негде попробовать, но если туда добавить задержку то должно поидее сработать
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
Удаление самого себя:
CMD /C DEL %0
Удаление всего в папке запуска:
CMD /С DEL /Q *.*
Удаление папки запуска:
SET AA=%CD%
CD ..\
CMD /C RD /S /Q %AA%
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы