SharkyEXE
16-09-2009, 21:32
Здравствуйте. Прошу прощения, в принципе, есть следующая статья, для меня полезная Запуск программ с flash-драйва (http://www.o-raznom.ru/?page_id=133), там есть два куска кода, один рабочий, другой, сколько я его не пытался изменять-все равно не работает. Нужна, собственно правка неправильного кода чтобы в итоге он стал рабочим. Спасибо.
Тут все очень просто, наверное, даже комментарии излишни. Замечу лишь, что букву диска флешки придется посмотреть заранее, так как здесь не делается никаких проверок на доступность съемного диска.
Теперь мы знаем серийный номер диска. В моем случае это “-1109467269”. Именно так, со знаком минус. Теперь создадим файл flash_run.js, или с другим именем, и вставим следующий код:
fso = WScript.Createobject(”Scripting.FileSystemObject”); // Обявление объекта для работы с файловой системой
A = new Array(”C”,”D”,”F”,”E”,”J”,”I”,”K”,”L”,”G”,”M”); // Создание массива с именами восзможных дисков
f=A.length; // вычислим длину массива
ok=0; // вспомогательная переменная
for (var icount = 0; icount
if (fso.DriveExists(A[icount])){ // проверяем существует ли такой диск
d = fso.GetDrive(A[icount]); // если такой диск существует, создаем объект для работы с ним
if (d.IsReady){ // проверим готовность диска
if (d.SerialNumber==-1109467269) // сравниваем серийный номер
{ //если номер совпадает, то:
var WSHShell = WScript.CreateObject(”WScript.Shell”); создаем объект, необходимый для запуска внешнего требуемого приложения
path=A[icount]+”:\\WebServers\\etc\\run” // зададим путь к нашему приложению. В перемнной массива A[icount] содержится буква нашей флешки, а остальное - путь к требуемой программе, где нужно указать свой путь.
WSHShell.Run(path,5); // запуск приложения по пути, прописанном в переменной path
ok=1; // меняем значение вспомогательной переменной
break; // останавливаем работу цикла
}
}
}
} // конец цикла for
if (ok==0) WScript.Echo(”Флешка не найдена”); // если диска, с указанным серийным номером, не будет найдено, значение переменной k останется нулевым. Выводим сообщение.
Вот этот код нерабочий. Собственно думал просто его скопировать в AkelPad, сохранить в кодировке 1251 с именем flash_run.js, ну может где немногжко подправить (пути к приложению, букву флешки) и можно запускать. Но он, код, как я его не пытался немного, подчеркну, немного, подкорректировать (кавычки поменял на правильные) и запустить-файл, в общем, отказался работать. Возможно повторюсь, прошу, пожалуйста, кто знает и может, подправить вышеприведенный кусок кода, чтобы он стал рабочим. Еще раз спасибо. Для удобства прикрепил мною правленный код (только изменены кавычки).
Тут все очень просто, наверное, даже комментарии излишни. Замечу лишь, что букву диска флешки придется посмотреть заранее, так как здесь не делается никаких проверок на доступность съемного диска.
Теперь мы знаем серийный номер диска. В моем случае это “-1109467269”. Именно так, со знаком минус. Теперь создадим файл flash_run.js, или с другим именем, и вставим следующий код:
fso = WScript.Createobject(”Scripting.FileSystemObject”); // Обявление объекта для работы с файловой системой
A = new Array(”C”,”D”,”F”,”E”,”J”,”I”,”K”,”L”,”G”,”M”); // Создание массива с именами восзможных дисков
f=A.length; // вычислим длину массива
ok=0; // вспомогательная переменная
for (var icount = 0; icount
if (fso.DriveExists(A[icount])){ // проверяем существует ли такой диск
d = fso.GetDrive(A[icount]); // если такой диск существует, создаем объект для работы с ним
if (d.IsReady){ // проверим готовность диска
if (d.SerialNumber==-1109467269) // сравниваем серийный номер
{ //если номер совпадает, то:
var WSHShell = WScript.CreateObject(”WScript.Shell”); создаем объект, необходимый для запуска внешнего требуемого приложения
path=A[icount]+”:\\WebServers\\etc\\run” // зададим путь к нашему приложению. В перемнной массива A[icount] содержится буква нашей флешки, а остальное - путь к требуемой программе, где нужно указать свой путь.
WSHShell.Run(path,5); // запуск приложения по пути, прописанном в переменной path
ok=1; // меняем значение вспомогательной переменной
break; // останавливаем работу цикла
}
}
}
} // конец цикла for
if (ok==0) WScript.Echo(”Флешка не найдена”); // если диска, с указанным серийным номером, не будет найдено, значение переменной k останется нулевым. Выводим сообщение.
Вот этот код нерабочий. Собственно думал просто его скопировать в AkelPad, сохранить в кодировке 1251 с именем flash_run.js, ну может где немногжко подправить (пути к приложению, букву флешки) и можно запускать. Но он, код, как я его не пытался немного, подчеркну, немного, подкорректировать (кавычки поменял на правильные) и запустить-файл, в общем, отказался работать. Возможно повторюсь, прошу, пожалуйста, кто знает и может, подправить вышеприведенный кусок кода, чтобы он стал рабочим. Еще раз спасибо. Для удобства прикрепил мною правленный код (только изменены кавычки).