2 / 2 / 0
Регистрация: 20.01.2023
Сообщений: 34

"Строка: 1 Символ: 1 Ошибка: Неверный дескриптор" для JScript под Windows 10

20.01.2023, 16:42. Показов 1240. Ответов 5

Студворк — интернет-сервис помощи студентам
Есть код букмарклета: https://github.com/eugrus/isbn... marklet.js

Хочу портировать на JScript под WSH.

Попытка:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
var isbn = WScript.StdIn.ReadLine("Enter the ISBN of the book: ");
var lang = WScript.StdIn.ReadLine("Optionally enter the Wikipedia subdomain (for supported non-English Wikipedias): ");
 
if (!isbn) {
    WScript.Echo("No ISBN provided.");
    WScript.Quit();
}
 
var xhr = WScript.CreateObject("Microsoft.XMLHTTP");
xhr.open("GET", "https://www.googleapis.com/books/v1/volumes?q=isbn:" + isbn, false);
xhr.send();
var data = JSON.parse(xhr.responseText);
 
var title = data.items[0].volumeInfo.title;
var author = data.items[0].volumeInfo.authors.join(", ");
var publisher = data.items[0].volumeInfo.publisher;
var date = data.items[0].volumeInfo.publishedDate;
var year = date.substring(0, 4);
 
var template = "";
 
if (lang === "ru") {
    template = "{{" + "Книга" + "\n" +
    " |название=" + title + "\n" +
    " |автор=" + author + "\n" +
    " |год=" + year + "\n" +
    " |издательство=" + publisher + "\n" +
    " |isbn=" + isbn + "\n" +
    " |ref=" + "\n" +
    "}}";
}
 
else {
    template = "{{" + "Cite book" + "\n" +
    " |title=" + title + "\n" +
    " |author=" + author + "\n" +
    " |date=" + date + "\n" +
    " |publisher=" + publisher + "\n" +
    " |isbn=" + isbn + "\n" +
    " |ref=" + "\n" +
    "}}";
}
 
var shell = WScript.CreateObject("WScript.Shell");
shell.Run("cmd /c echo " + template + "| clip", 0, true);
WScript.Echo("Template copied to clipboard.");
WSH выдаёт под Windows 10:

Строка: 1
Символ: 1
Ошибка: Неверный дескриптор.
Код: 8007006

В чём дело?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.01.2023, 16:42
Ответы с готовыми решениями:

JScript Неверный дескриптор
написал функцию, а при выводе на экран он ругается "Неправильный дескриптор". Как исправить? ... function print_matrix(matr){ ...

Виртуальная машина на JScript, ошибка "Неверный дескриптор"
Пытаюсь написать простую виртуальную машину на JScript. Надо придумать свой низкоуровневый язык и написать интерпретатор. Написано два...

Ошибка неверный дескриптор
При запуске приложения возникает данная ошибка, помогите разобраться:-|

5
6998 / 2883 / 1109
Регистрация: 06.06.2017
Сообщений: 9,780
20.01.2023, 17:35
Цитата Сообщение от eugrus Посмотреть сообщение
В чём дело?
1. Работа с потоками осуществляется через консоль вызовом cscript /nologo googlebooks4wiki.bookmarklet.js.
2. Первые две строки неверно составлены. Должно быть так:
JavaScript
1
2
3
4
WSH.StdOut.Write("Enter the ISBN of the book: ")
var isbn = WSH.StdIn.ReadLine()
WSH.StdOut.Write("Optionally enter the Wikipedia subdomain (for supported non-English Wikipedias): ")
var lang = WSH.StdIn.ReadLine()
1
2 / 2 / 0
Регистрация: 20.01.2023
Сообщений: 34
20.01.2023, 22:38  [ТС]
Спасибо!

А как можно в JScript/WSH сделать input box, чтобы использовать его, а не поток ввода? (аналог prompt() из браузерного JavaScript)
0
6998 / 2883 / 1109
Регистрация: 06.06.2017
Сообщений: 9,780
21.01.2023, 00:15
Если без заморочек, то .wsf:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<job><script language="VBScript">
 
isbn = InputBox(String(5, vbLf) & "Enter the ISBN of the book:")
If isbn = "" Then WSH.Quit
lang = InputBox(String(4, vbLf) & "Optionally enter the Wikipedia subdomain (for supported non-English Wikipedias):")
 
</script><script language="JScript">
 
if(!lang){WSH.Quit()}
var xhr = WSH.CreateObject('Microsoft.XMLHTTP');
xhr.open('GET', 'https://www.googleapis.com/books/v1/volumes?q=isbn:' + isbn, false);
xhr.send();
var data = JSON.parse(xhr.responseText);
 
var title = data.items[0].volumeInfo.title;
var author = data.items[0].volumeInfo.authors.join(', ');
var publisher = data.items[0].volumeInfo.publisher;
var date = data.items[0].volumeInfo.publishedDate;
var year = date.substring(0, 4);
 
var template = '';
 
if (lang === 'ru') {
    template = '{{' + 'Книга' + '\n' +
    ' |название=' + title + '\n' +
    ' |автор=' + author + '\n' +
    ' |год=' + year + '\n' +
    ' |издательство=' + publisher + '\n' +
    ' |isbn=' + isbn + '\n' +
    ' |ref=' + '\n' +
    '}}';
}
 
else {
    template = '{{' + 'Cite book' + '\n' +
    ' |title=' + title + '\n' +
    ' |author=' + author + '\n' +
    ' |date=' + date + '\n' +
    ' |publisher=' + publisher + '\n' +
    ' |isbn=' + isbn + '\n' +
    ' |ref=' + '\n' +
    '}}';
}
 
var shell = WSH.CreateObject('WScript.Shell');
shell.Run('cmd /c echo ' + template + '| clip', 0, true);
WSH.Echo('Template copied to clipboard.');
 
</script></job>
1
2 / 2 / 0
Регистрация: 20.01.2023
Сообщений: 34
21.01.2023, 00:37  [ТС]
Спасибо!

Видимо, и в обработке JSON тоже что-то не так: говорит, определение отсутствует - ошибка 800A1391.
0
6998 / 2883 / 1109
Регистрация: 06.06.2017
Сообщений: 9,780
21.01.2023, 01:52
А, ну так парсер JSON нужно из онлайн внедрять
PHP/HTML
7
</script><script language="JScript" src="https://raw.githubusercontent.com/douglascrockford/JSON-js/master/json2.js">
Либо какой-нибудь свой писать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.01.2023, 01:52
Помогаю со студенческими работами здесь

Ошибка: Неверный дескриптор (6)
Здравствуйте, пытаюсь сделать экспорт в базу данных. При выполнении возникает ошибка &quot;Неверный дескриптор (6)&quot;, хотя раньше её не...

Ошибка потока, неверный дескриптор 6
Здравствуйте форумчане. Ситуация в следующем. Есть основная форма, на карта gistoolkit. При перемещении курсора мыши должен...

Почему возникла ошибка System Error 6. Неверный дескриптор
Есть 5 потоков, нужно чтобы они вычислялись паралельно, но если пользователь в checkbox выбирает, то они должны вычисляться...

Посчитать MD5 для файла: неверный дескриптор при работе с FileStream
Добрый день! Стоит задача посчитать MD5 для файла. Возникшая проблема с длинными путями и именами файлов может быть решена с помощью...

Что значит эта ошибка "Неверный дескриптор файла"
Делфи на Паскале выдаёт мне ошибку N6. (6 Неверный дескриптор файла (Invalid file handle)) Помогите!!!! Что это значит ??? Вот мой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru