![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Гость_Сергей |
|
|||
Unregistered |
Помогите исправить ошибку в скрипте написаном на JScript.
Так вот ошибка заключается в том, что в операционной системе Windows 98 при выполнении моего скрипта происходит ошибка: ПУТЬ НЕ НАЙДЕН А вот в Windows XP никакой ошибки нет. Ошибка происходит из-за того, что в Win98 нет такой папки C:\windows\system32\drivers\etc\ (нет папки etc), а вот в XP она есть. Но я никак не могу придумать как избежать этой ошибки т.е. я хочу сделать скрипт, который без ошибки бы работал как в 98, так и в XP. Вот код скрипта: ================================================== wsh=new ActiveXObject("Wscript.Shell"); var windir=wsh.ExpandEnvironmentStrings("%WINDIR%"); var FSO = new ActiveXObject("Scripting.FileSystemObject"); if (FSO.FileExists(windir+"\\system32\\drivers\\etc\\protocol")); { var f = (FSO.OpenTextFile(windir+"\\system32\\drivers\\etc\\protocol", 8, true)); f.WriteLine ("здесь текст который надо добавить"); f.Close(); } { var s = (FSO.OpenTextFile(windir+"\\protocol", 8, true)); s.WriteLine ("здесь текст который надо добавить"); s.Close(); } ========================================================= Этот скрипт должен находить файл protocol и дописывать в него данные. Но проблема в том, что в Windows 98 этот файл (protocol) лежит в корневой папке Windows, а в XP он лежит в windows\system32\drivers\etc\ Но скрипт может запускаться и под win98 и под XP и под ME, и под 2000, поэтому ошибки недопустимы. Я вот не могу придумать как сделать так, чтобы скрипт определил в какой папке находится файл protocol. Как видите по моему коду скрипт проверяет наличие файла protocol в папке windir+"\\system32\\drivers\\etc\\ но вот в Win 98 на этом этапе скрипт выдает ошибку, так как такой папки в Win 98 нет. Подскажите что можно придумать чтобы скрипт сам определил, в какой папке он должен изменить файл (protocol) в зависимости от ОС. Может можно так-то избежать этой ошибки и заставить скрипт выполнится до конца???? Помогите исправить скрипт и заставьте его работать без ошибки ПУТЬ НЕ НАЙДЕН Всем заранее спасибо за помощь. |
|||
|
||||
GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
Если файл для конкретной ОС лежит в известной папке, то почему бы не опредилять версию ОС и в зависимости от нее читать из той или иной папки??
|
|||
|
||||
Гость_Сергей |
|
|||
Unregistered |
хорошее предложение... только как бы его реализовать
![]() |
|||
|
||||
GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
Я к сожалению не работал с ActiveXObject, но уверен, что там есть какая-нить функция для опредиления версии системы!!!
|
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
А navigator.userAgent не поможет определить ОС? Только XP, кажется, определяется как NT 5.1
Это сообщение отредактировал(а) Red Dragon - 2.6.2004, 12:17 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Наконец появилось время, сори за паузу...
Так, про navigator, window и прочие обьекты клиентского JS забываем - тут вопрос не клиентского JS. Сергей твой код не имеет смысла, ощущение что тебе срочно надо написать скрипт, но до этого ты никогда JS в глаза не видел. Читай это до конца: http://wdh.suncloud.ru/js01.htm#ref3 Вот этот код будет работать правильно на любой машине... Вместо копирования участков кода напиши одну функцию.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Guest |
|
|||
Unregistered |
Спасибо всем за помощь я уже сделал так что работает без ошибки в любой операционной системе.
|
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |