Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Запуск программ с flash-драйва

Ответить
Настройки темы
VBS/WSH/JS - [решено] Запуск программ с flash-драйва

Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Изменения
Автор: SharkyEXE
Дата: 20-11-2009
Здравствуйте. Прошу прощения, в принципе, есть следующая статья, для меня полезная Запуск программ с flash-драйва, там есть два куска кода, один рабочий, другой, сколько я его не пытался изменять-все равно не работает. Нужна, собственно правка неправильного кода чтобы в итоге он стал рабочим. Спасибо.
Цитата:
Тут все очень просто, наверное, даже комментарии излишни. Замечу лишь, что букву диска флешки придется посмотреть заранее, так как здесь не делается никаких проверок на доступность съемного диска.
Теперь мы знаем серийный номер диска. В моем случае это “-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, ну может где немногжко подправить (пути к приложению, букву флешки) и можно запускать. Но он, код, как я его не пытался немного, подчеркну, немного, подкорректировать (кавычки поменял на правильные) и запустить-файл, в общем, отказался работать. Возможно повторюсь, прошу, пожалуйста, кто знает и может, подправить вышеприведенный кусок кода, чтобы он стал рабочим. Еще раз спасибо. Для удобства прикрепил мною правленный код (только изменены кавычки).

Отправлено: 21:32, 16-09-2009

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата SharkyEXE:
в общем, отказался работать »
в чем это выражается?

Отправлено: 11:09, 18-09-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Цитата amel27:
Цитата SharkyEXE:
в общем, отказался работать »
в чем это выражается? »
А вы попробуйте запустить прикрепленный мой в аттаче файл, и сразу увидите ошибку, типа в троке той-то, в позиции такой то. Вот что-то в этом коде неправильно, раз ошибка появляеться. Вот то мне и нужна помощь, чтобы получился исправленный рабочий код. Спасибо.

Отправлено: 19:19, 19-09-2009 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата SharkyEXE:
Но он, код, как я его не пытался немного, подчеркну, немного, подкорректировать (кавычки поменял на правильные) и запустить-файл, в общем, отказался работать. »
в статье есть ссылка на источник, откуда взят скрипт - там и надо было искать
Код: Выделить весь код
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 < f; icount++) {
  if (fso.DriveExists(A[icount])) {
    d = fso.GetDrive(A[icount]);
    if (d.IsReady) {
      if (d.SerialNumber==283626578) {
        var WSHShell = WScript.CreateObject("WScript.Shell");
        path=A[icount]+":\\WebServers\\etc\\run";
        WSHShell.Run(path,5);
        ok=1;
        break;
      }
    }
  }
}

if (ok==0) WScript.Echo("Флешка не найдена");
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:24, 20-09-2009 | #4


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


amel27, проверил Ваш код-все работает. Спасибо.

Отправлено: 13:15, 20-09-2009 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Запуск программ с flash-драйва

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Запуск программ из батника akrav Скриптовые языки администрирования Windows 16 27-05-2009 00:19
[решено] Ограничение на запуск определенных программ. voler Microsoft Windows NT/2000/2003 3 18-02-2008 10:17
Доступ - [решено] ограничение на запуск опр. программ slaine Microsoft Windows 2000/XP 7 18-01-2008 10:37
Выбор USB-flash-драйва 4 GB Ven Накопители (SSD, HDD, USB Flash) 23 16-04-2007 15:37
Нагревание Flash-драйва renat Хочу все знать 22 15-09-2006 19:04




 
Переход