PDA

Показать полную графическую версию : Проблема с Cleanup.cmd


Страниц : [1] 2

armandi
08-09-2005, 09:10
Помогите решить проблемку... у меня не получается удалить ярлыки с помощью 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

armandi
08-09-2005, 10:51
Спасибо за помощь...
я про UserProfile не догадался...хотя остальное у меня все так... буду пробовать.... потом сообщу

D@nil
08-09-2005, 11:02
armandi
Кодировту на досовскую менял?

armandi
09-09-2005, 12:36
Yelisander

Не помого твой файл почему-то...

D@nil

Нет, не менял... Простите за мое незнание.... но как кодировку поменять и где?
Буду премного благодарен если объясните

biork
10-09-2005, 02:09
Риторический вопрос:
а почему строка с командой shutdown.exe выше строчек с удалением? Ведь не факт, что при маленьком тайминге (-t 0) все эти команды успеют выполниться до перенгрузки... :-)

Vadikan
10-09-2005, 05:33
biork
Вопрос действительно риторический. У меня задержка в 30 секунд в примере, что более чем достаточно для выполнения последующих команд. Вы можете ставить команду куда угодно.

armandi
10-09-2005, 14:10
Т.е. выполнение команд идет во время отсчета времени?
Я думал, что отсчет времени начинается после выполнения команд, поэтому и сократил время... А поставил в начале, потому что в примерах сказано об выполнении команд с последующей перезагрузкой..
Спасибо хоть просветили

Vadikan
10-09-2005, 18:01
Т.е. выполнение команд идет во время отсчета времени?Конечно :)

biork
11-09-2005, 02:29
Не... я просто не понял зачем задавать длинный промежуток времени (с пугающей табличкой) и втискивать в него ряд задачь? Не проще ли сначала выполнить эти задачи и не гадать сколько времени требуется на их выполнение, а в конце просто перегрузить с параметрами -r -f -t 0. Или я что-то не так понимаю?

Ещё один вопрос почти по теме: как сделать так, чтобы при перегрузке или выключении виндовс штатными средствами (пуск/выключить компьютер...) выполнялась команда очистки временных папок?

Vadikan
11-09-2005, 03:16
biork
(с пугающей табличкой)В пугающую табличку можно внести текст по желанию. Например, благодарность сайту unattended.oszone.net и лично мне :)
как сделать так, чтобы при перегрузке или выключении виндовс штатными средствами (пуск/выключить компьютер...) выполнялась команда очистки временных папок?Использовать пакетный файл с командой DEL.

biork
11-09-2005, 03:41
Использовать пакетный файл с командой DEL.

это понятно... куда его сунуть? :)



P.S. Благодарности я лучше выражу здесь! а пугающую табличку всё-таки уберу...

Vadikan
11-09-2005, 05:39
Так в него же можно включить команду на выключение компьютера. Ну точно такой же файл как в примере, только удаляет содержимое временных папок. Им и выключать/перезагружать.

armandi
12-09-2005, 08:23
Все спасибо всем я разобрался ...
ИТОГ
Количество времени необходимое для удаление ярлыков составляет меньше секунды, так что ставить полминуты излишне... Можно также поставить в конце файла cleanup.cmd....
Не работал он же вследствии непонимания DOSом кирилицы. Это все исправляется утилитой UniRed c необходимыми параметрами...
Так что время спокойно можно до 5 сек сокращать.

fanatf1
12-09-2005, 08:56
armandi

Дык какие именно параметры и какую кодировку ставил то??

armandi
12-09-2005, 10:48
fanatf1

Это для локализованной версии WinXP. Открываешь файл утилитой UniRed (ссылка где-то на сайте была). Называешь файл как нужно с расширением .cmd, выбираешь кодировку OEM, а тип файла (точно не помню) - параметр C и сохраняешь... вот и все...она автоматически перекодирует кирилицу в досовские шрифты

D@nil
12-09-2005, 12:02
fanatf1
Качни akelpad (http://akelpad.net.ru/)
Открываешь свой Cleanup.cmd и жмешь F6 (Кодировки > Сохранить в DOS-866)

biork
14-09-2005, 02:46
Что то не помогли мне эксперименты с кодировками... (Использовал akelpad, жал F6...)

так стирает: del /s /q с:\Новаяпапка\Текстовыйдокумент.txt
а так - нет :-( del /s /q с:\Новая папка\Текстовый документ.txt

пробелы не понимает что ли...

соответственно команда del /S /Q %AllUsersProfile%\Рабочий стол\Nero StartSmart.lnk так же не выполняется.

может их (пробелы) какими-то символами заменить можно?

qeraser
14-09-2005, 08:05
Примени ковычки.
del "%AllUsersProfile%\Рабочий стол\Nero StartSmart.lnk"

biork
19-09-2005, 01:30
Примени ковычки

Спасибо, дорогой!
Помогло :)




© OSzone.net 2001-2012