Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт на JScript - помогите исправить ошибку, Помогите исправить ошибку скрипта 
:(
    Опции темы
Гость_Сергей
Дата 1.6.2004, 14:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
Дата 1.6.2004, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Если файл для конкретной ОС лежит в известной папке, то почему бы не опредилять версию ОС и в зависимости от нее читать из той или иной папки??


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Гость_Сергей
  Дата 1.6.2004, 19:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











хорошее предложение... только как бы его реализовать mad.gif
  Вверх
GoodBoy
Дата 2.6.2004, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Я к сожалению не работал с ActiveXObject, но уверен, что там есть какая-нить функция для опредиления версии системы!!!


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Gold Dragon
Дата 2.6.2004, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



А navigator.userAgent не поможет определить ОС? Только XP, кажется, определяется как NT 5.1

Это сообщение отредактировал(а) Red Dragon - 2.6.2004, 12:17


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Sardar
Дата 5.6.2004, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Наконец появилось время, сори за паузу...
Так, про navigator, window и прочие обьекты клиентского JS забываем - тут вопрос не клиентского JS.
Сергей твой код не имеет смысла, ощущение что тебе срочно надо написать скрипт, но до этого ты никогда JS в глаза не видел. Читай это до конца: http://wdh.suncloud.ru/js01.htm#ref3
Вот этот код будет работать правильно на любой машине... Вместо копирования участков кода напиши одну функцию.
Код
wsh=new ActiveXObject("Wscript.Shell");
var windir=wsh.ExpandEnvironmentStrings("%SYSTEMROOT%");

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();
}
if(FSO.FileExists(windir+"\\protocol")){
 var s = (FSO.OpenTextFile(windir+"\\protocol", 8, true));
 s.WriteLine ("çäåñü òåêñò êîòîðûé íàäî äîáàâèòü");
 s.Close();
}



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Guest
Дата 5.6.2004, 23:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо всем за помощь я уже сделал так что работает без ошибки в любой операционной системе.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0961 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.