Имя пользователя:
Пароль:
 

Показать сообщение отдельно

(*.*)


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

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


Grenky
Ладно, я выпил достаточно пива, чтобы об'яснить популярно Вместо
Код: Выделить весь код
START /WAIT %systemdrive%\Cleanup.cmd
надо использовать
Код: Выделить весь код
CALL %systemdrive%\Cleanup.cmd
Тогда первый файл вызовет второй, а сам продолжит работу, т.е. закроется (вызываем-то мы последней командой). Тогда второму файлу ничего не помешает удалить директорию, содержащую первый файл, а потом и сам себя.

Конечно, протестировать GuiRunOnce я не могу, но только что проверил RunOnceEx. Итак, в %systemdrive%\test помещаем test1.cmd
Код: Выделить весь код
cmdow @ /HID
@echo off

echo this is a line from the test1,cmd file >> %systemdrive%\file.txt
call %systemdrive%\test2.cmd

exit
В корень %systemdrive% кладем test2.cmd
Код: Выделить весь код
cmdow @ /HID
@echo off

RD /S /Q %systemdrive%\test
DEL %0

exit
Создаем RunOnce.cmd
Код: Выделить весь код
cmdow @ /HID
@echo off

SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

REG ADD %KEY% /V TITLE /D "Bla-bla-bla" /f

REG ADD %KEY%\001 /VE /D "Bla-bla-bla" /f
REG ADD %KEY%\001 /V 1 /D "%systemdrive%\test1.cmd" /f

exit
запускаем его, выходим из системы и снова заходим. Папки %systemdrive%\test вместе с test1.cmd как не бывало. test2.cmd тоже исчез, зато есть %systemdrive%\file.txt, в котором одна строка, подтверждающая, что test1.cmd отработал.

Ваше здоровье :beer:

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 11:46, 30-06-2005 | #16