Показать полную графическую версию : Проблема с Cleanup.cmd
Помогите решить проблемку... у меня не получается удалить ярлыки с помощью cleanup.cmd ... происходит только перезагрузка
Версия Windows XP Pro русская локализованная корпоративная
Мой RUNONSE
@cmdow @ /HID
@echo off
REG ADD %KEY% /V TITLE /D "Installing Applications" /f
......
REG ADD %KEY%\025 /VE /D "WinRAR 3.30" /f
REG ADD %KEY%\025 /V 1 /D "%CDROM%\Software\wrar330ru.exe /s" /f
.......
REG ADD %KEY%\100 /VE /D "Cleaning Up and Rebooting" /f
REG ADD %KEY%\100 /V 1 /D "%systemdrive%\install\cleanup.cmd" /f
EXIT
Файл Cleanup.cmd лежит в $OEM$\$1\Install
Содержание его:
@cmdow @ /HID
@echo off
shutdown.exe -r -f -t 5 -c "The system will reboot in 5 seconds."
DEL "%AllUsersProfile%\Рабочий стол\AIDA32.lnk"
DEL "%AllUsersProfile%\Рабочий стол\Nero StartSmart.lnk"
RD /S /Q "%AllUsersProfile%\Главное меню\Programs\Java Web Start"
RD /S /Q "%AllUsersProfile%\Главное меню\Programs\Nero\Инструкция пользователя"
RD /S /Q "%AllUsersProfile%\Главное меню\Каталог Windows.lnk"
net user aspnet /delete
EXIT
Так вот файл запускается, но идет просто через 5 сек перезагрузка, а удаление ярлыков и директорий не происходит... уже что только не делал... В командной строке такие параметры проходят да и то не всегда... Если ярлык создается для конкретного пользователя, то его удаления не происходит... А при автоматической - вообще полное игнорирование
В директории Documents.. лежат три папки All Users, QQQ (пользователь) и Default User
Yelisander
08-09-2005, 10:31
Привет!
Привожу пример своего файла, у мня все работает:
IF EXIST %WINDIR%\CMDOW.exe cmdow @ /HID
shutdown.exe -r -f -t 30 -c "Don`t panic. The system will reboot in 30 seconds."
del /S /Q "%AllUsersProfile%\Главное меню\Windows Update.lnk"
del /S /Q "%AllUsersProfile%\Главное меню\Выбор программ по умолчанию.lnk"
del /S /Q "%AllUsersProfile%\Главное меню\Каталог Windows.lnk"
del /S /Q "%AllUsersProfile%\Главное меню\Программы\Windows Messenger.lnk"
del /S /Q "%UserProfile%\Главное меню\Программы\Удаленный помощник.lnk"
del /S /Q "%AllUsersProfile%\Рабочий стол\Adobe Reader 7.0.lnk"
del /S /Q "%AllUsersProfile%\Рабочий стол\Nero StartSmart.lnk"
del /S /Q "%UserProfile%\Главное меню\Программы\Автозагрузка\Total Commander.lnk
del /S /Q "%UserProfile%\Главное меню\Программы\AkelPad.lnk
del /S /Q "%AllUsersProfile%\Рабочий стол\Light Alloy.lnk
del /S /Q C:\RunOnceEx.cmd
Спасибо за помощь...
я про UserProfile не догадался...хотя остальное у меня все так... буду пробовать.... потом сообщу
armandi
Кодировту на досовскую менял?
Yelisander
Не помого твой файл почему-то...
D@nil
Нет, не менял... Простите за мое незнание.... но как кодировку поменять и где?
Буду премного благодарен если объясните
Риторический вопрос:
а почему строка с командой shutdown.exe выше строчек с удалением? Ведь не факт, что при маленьком тайминге (-t 0) все эти команды успеют выполниться до перенгрузки... :-)
biork
Вопрос действительно риторический. У меня задержка в 30 секунд в примере, что более чем достаточно для выполнения последующих команд. Вы можете ставить команду куда угодно.
Т.е. выполнение команд идет во время отсчета времени?
Я думал, что отсчет времени начинается после выполнения команд, поэтому и сократил время... А поставил в начале, потому что в примерах сказано об выполнении команд с последующей перезагрузкой..
Спасибо хоть просветили
Т.е. выполнение команд идет во время отсчета времени?Конечно :)
Не... я просто не понял зачем задавать длинный промежуток времени (с пугающей табличкой) и втискивать в него ряд задачь? Не проще ли сначала выполнить эти задачи и не гадать сколько времени требуется на их выполнение, а в конце просто перегрузить с параметрами -r -f -t 0. Или я что-то не так понимаю?
Ещё один вопрос почти по теме: как сделать так, чтобы при перегрузке или выключении виндовс штатными средствами (пуск/выключить компьютер...) выполнялась команда очистки временных папок?
biork
(с пугающей табличкой)В пугающую табличку можно внести текст по желанию. Например, благодарность сайту unattended.oszone.net и лично мне :)
как сделать так, чтобы при перегрузке или выключении виндовс штатными средствами (пуск/выключить компьютер...) выполнялась команда очистки временных папок?Использовать пакетный файл с командой DEL.
Использовать пакетный файл с командой DEL.
это понятно... куда его сунуть? :)
P.S. Благодарности я лучше выражу здесь! а пугающую табличку всё-таки уберу...
Так в него же можно включить команду на выключение компьютера. Ну точно такой же файл как в примере, только удаляет содержимое временных папок. Им и выключать/перезагружать.
Все спасибо всем я разобрался ...
ИТОГ
Количество времени необходимое для удаление ярлыков составляет меньше секунды, так что ставить полминуты излишне... Можно также поставить в конце файла cleanup.cmd....
Не работал он же вследствии непонимания DOSом кирилицы. Это все исправляется утилитой UniRed c необходимыми параметрами...
Так что время спокойно можно до 5 сек сокращать.
armandi
Дык какие именно параметры и какую кодировку ставил то??
fanatf1
Это для локализованной версии WinXP. Открываешь файл утилитой UniRed (ссылка где-то на сайте была). Называешь файл как нужно с расширением .cmd, выбираешь кодировку OEM, а тип файла (точно не помню) - параметр C и сохраняешь... вот и все...она автоматически перекодирует кирилицу в досовские шрифты
fanatf1
Качни akelpad (http://akelpad.net.ru/)
Открываешь свой Cleanup.cmd и жмешь F6 (Кодировки > Сохранить в DOS-866)
Что то не помогли мне эксперименты с кодировками... (Использовал akelpad, жал F6...)
так стирает: del /s /q с:\Новаяпапка\Текстовыйдокумент.txt
а так - нет :-( del /s /q с:\Новая папка\Текстовый документ.txt
пробелы не понимает что ли...
соответственно команда del /S /Q %AllUsersProfile%\Рабочий стол\Nero StartSmart.lnk так же не выполняется.
может их (пробелы) какими-то символами заменить можно?
Примени ковычки.
del "%AllUsersProfile%\Рабочий стол\Nero StartSmart.lnk"
Примени ковычки
Спасибо, дорогой!
Помогло :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.