Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Удаление ярлыков (http://forum.oszone.net/showthread.php?t=172842)

7ka 11-04-2010 18:07 1390191

Удаление ярлыков
 
Уважаемые форумчане, Всем доброго времени суток.
Прошу Вашей помощи в назревшей проблеме, перейду сразу к делу:
Устанавливаю необходимый софт из RunOnceEx, далее за установкой исполняется файл Clean.cmd в кодировке (ANSI) с следующим содержанием:
Код:

If Exist "%tmp%\soft" RD /S /Q "%tmp%\soft" >nul
If Exist "%allusersprofile%\Рабочий стол" Del /F /Q "%allusersprofile%\Рабочий стол\*.lnk" >nul
exit

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

Подскажите пожалуйста что в моем примере не так, может есть объективное решение моего вопроса? Заранее спасибо.

Iska 11-04-2010 18:55 1390220

Цитата:

в кодировке (ANSI)
7ka, попробуйте поменять на подобающую, OEM.

seriych 11-04-2010 18:58 1390223

7ka,
А ось какая? Если это семерка, то вместо "%allusersprofile%\Рабочий стол" надо "%PUBLIC%\Desktop".
С кодировкой ничего не напутал точно?

Vsirf 11-04-2010 19:10 1390228

Цитата:

Цитата 7ka
... вообщем все замечательно, директория из которой ставится весь софт сносится без проблем, но вот ярлыки так и не удаляются. »

7ka, если программа устанавливается для какого то пользователя, то ее ярлыки будут находится не в
Код:

%allusersprofile%
а в:
Код:

If Exist "%tmp%\soft" RD /S /Q "%tmp%\soft" >nul
If Exist "%имя пользователя%\Рабочий стол" Del /F /Q "%имя пользователя%\Рабочий стол\*.lnk" >nul
exit

вить установка есть для всех пользователей ( allusersprofile ) , и только для одного пользователя, так вот, ярлыки могут создаваться как в папке :
Documents and Settings\All Users\Рабочий стол\;
так и в папке :
Documents and Settings\Имя пользователя\Рабочий стол\;
ну это я про Windows XP, если у вас Windows 7 , то назначения папок могут быть другими, но принцип тот же :)

gora 11-04-2010 19:18 1390231

7ka, про не правильную кодировку Вам уже сказали, но у меня тоже удаление с помощью постановочных знаков не прошло. А так удалил:
Код:

:: Кодировка DOS (866)
For %%a In ("%allusersprofile%\Рабочий стол\*.lnk") Do Del /F /Q "%%a" 2>nul


7ka 11-04-2010 19:36 1390238

Цитата:

Цитата Iska
попробуйте поменять на подобающую, OEM.»

в notepad2 такой нет
Цитата:

Цитата seriych
А ось какая?»

XP
Цитата:

Цитата Vsirf
вить установка есть для всех пользователей ( allusersprofile ) , и только для одного пользователя, так вот, ярлыки могут создаваться как в папке : »

отдельно для пользователя я использую переменную %userprofile%
Цитата:

Цитата gora
но у меня тоже удаление с помощью постановочных знаков не прошло. А так удалил:
Код:

:: Кодировка DOS (866)
For %%a In ("%allusersprofile%\Рабочий стол\*.lnk") Do Del /F /Q "%%a" 2>nul

»

спасибо. попробую ваш способ)

Цитата:

Цитата Iska
попробуйте поменять на подобающую, OEM. »

сменил на ОЕМ в pspad. все получилось, спасибо :)

Iska 11-04-2010 23:56 1390417

Цитата:

Цитата 7ka
в notepad2 такой нет »

Notepad2 4.1.24, взятый отсюда: flo's freeware - Notepad2. Меню \File\Encoding\More… (или просто «F9»), в диалоговом окне «Encoding» выбираем «OEM (866)», если в окне уже был текст — соглашаемся с предупреждением. Теперь при сохранении кодировка файла будет OEM (она же 866, она же DOS, она же cp866, она же ibm-866 :)).


Время: 15:10.

Время: 15:10.
© OSzone.net 2001-