|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Вывод в CMD процесса работы JS |
|
VBS/WSH/JS - Вывод в CMD процесса работы JS
|
Новый участник Сообщения: 18 |
Профиль | Отправить PM | Цитировать
Есть JS скрипт с рекурсивным обходом папок, который как Вы понимаете, может работать достаточно продолжительное время:
// 1 Взято со страницы и изменено: http://forum.oszone.net/nextnewesttothread-199998.html // 2объект файловой системы var fso = new ActiveXObject("Scripting.FileSystemObject"); // 4 путь к каталогу, откуда запускается скрипт var path = WScript.ScriptFullName.substr(0, (WScript.ScriptFullName.length - WScript.ScriptName.length)), p = fso.GetFolder(path); var vsePapki = []; //Массив записей путей ко всем подпапкам. var nomerProverki=0; //Количество провереных и обработанных папок. var nomerZapisi=1; // Количество записанных папок в массив. //12 Вызываем рекурсивную функцию sFolders(path); //14 Рекурсивная функция перебора всех папок и подпапок function sFolders(folder)//полный путь { // 17 доступ к объекту-папке var root = fso.GetFolder(folder); // 19 Коллекция подпапок var sfCount = root.SubFolders.Count; // 21 последовательность подпапок var seq = new Enumerator(root.SubFolders); // WScript.Echo("\nКоличество подпапок в корневой папке (" + root + ") = " + sfCount); // 24 если в текущей папке есть подпапки, то вызываем функцию для каждой подпапки рекурсивно. while (sfCount>0) { for(; !seq.atEnd(); seq.moveNext()) { // WScript.Echo("Путь к подпапке = " + seq.item().path); vsePapki[nomerZapisi] = seq.item().path; nomerZapisi=nomerZapisi+1; // Количество записей в массиве адресов } nomerProverki=nomerProverki+1; WScript.Echo("Номер проверки = " + nomerProverki + " Номер записи = " + [nomerZapisi-1]); if (nomerProverki>=nomerZapisi) { sfCount = 0; } else { WScript.Echo("ПАПКА НА ПРОВЕРКУ = " + vsePapki[nomerProverki]); sfCount = sfCount - 1; sFolders(vsePapki[nomerProverki]); } } } нужно, чтобы во время своей работы он мог вывести сообщения о своей работе не при помощи команд Echo с мучительным количество щелчков и подтверждений а через cmd. Поэтому я нашел еще обратный JS скрипт, который вводит в cmd команду, а потом забирает от туда данные, так вот нужно чтобы было наоборот. var wsh = new ActiveXObject("WScript.Shell"); var cmd = wsh.Exec("cmd /c dir C:\ /on"); while (cmd.Status === 0) { WScript.Sleep(100); } var output = cmd.StdOut.ReadAll(); WScript.Echo(output); Идея у меня была такая: 1) Во время работы скрипта открывается окно cmd 2) В открытое окно cmd от скрипта поочередно выводятся адреса тех папок которые обрабатываются в данный момент. (или другая информация о ходе работы) 3) После завершения может появляться сообщение о завершении скрипта. Перерыл не один форум, ничего не нашел. В связи с чем подскажите пожалуйста ответы на вопросы: а) Возможно ли выполнение моей идеи? б) Возможно ли вывести процесс работы такого скрипта другим способом? |
|
Отправлено: 10:52, 09-03-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата kosmonavtom:
|
|
Отправлено: 13:01, 09-03-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Спасибо за совет, но в cmd появляется сообщение о том, что "script" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
|
Отправлено: 10:28, 10-03-2013 | #3 |
Ветеран Сообщения: 1758
|
Цитата kosmonavtom:
|
|
Отправлено: 10:32, 10-03-2013 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата kosmonavtom:
Цитата Iska:
При нужде можно вовсе сменить используемый по умолчанию хост для обработки сценариев на потребный: Setting the Default Scripting Engine. |
|||
Отправлено: 10:42, 10-03-2013 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] как прописать в vbs/cmd/wsh/js удаление сетевого подключения автоматом? | russor | Скриптовые языки администрирования Windows | 2 | 02-04-2011 03:11 | |
Доступ - [решено] Прекращение работы хост процесса (Прекращение работы хост процесса (Rundll32)) | decoy! | Microsoft Windows Vista | 2 | 24-04-2010 19:51 | |
CMD/BAT - [решено] вывод текстового файла на экран cmd | idsp | Скриптовые языки администрирования Windows | 6 | 06-04-2009 07:18 | |
Разное - Прекращение работы процесса | chudishe | Microsoft Windows 2000/XP | 0 | 03-01-2009 03:34 | |
JS: Вывод сообщения при уходе со страницы | Vyacheslav | Вебмастеру | 9 | 10-05-2007 00:50 |
|