Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 07.03.2013, 18:28
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 322

Рекомендую ознакомиться со следующими книгами:
Гюнтер Борн "Руководство разработчика на Microsoft Windows Script Host"
Андрей Попов "Windows Script Host для Windows 2000, XP"
Ответить с цитированием
  #12 (permalink)  
Старый 07.03.2013, 21:14
Интересующийся
Отправить личное сообщение для kosmonavtom Посмотреть профиль Найти все сообщения от kosmonavtom
 
Регистрация: 07.03.2013
Сообщений: 27

cyber, js рекурсивно работает с папками и заменяет свойства ярлыков в них. И теперь просто осталось вывести ход работы этого js - можно и не в cmd. Понимаю, что данную функцию можно было написать и программно допустим в Си, но мне было интересно именно в js
Ответить с цитированием
  #13 (permalink)  
Старый 07.03.2013, 21:24
Интересующийся
Отправить личное сообщение для kosmonavtom Посмотреть профиль Найти все сообщения от kosmonavtom
 
Регистрация: 07.03.2013
Сообщений: 27

rgl, спасибо за рекомендацию, но обычно если набрать какой либо вопрос в Интернете то гораздо более понятней из готовых кодов как работает язык.
Ответить с цитированием
  #14 (permalink)  
Старый 07.03.2013, 22:22
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

kosmonavtom, я в тупую не могу понять как вы выполняете js скрипт через cmd и темболее меняете свойства, может vbscript
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #15 (permalink)  
Старый 08.03.2013, 08:18
Интересующийся
Отправить личное сообщение для kosmonavtom Посмотреть профиль Найти все сообщения от kosmonavtom
 
Регистрация: 07.03.2013
Сообщений: 27

cyber, ну как же? В js можно создавать текстовые файлы, в js можно запускать bat файлы, так почему в одном js скрипте-файле не создать bat файл, а потом соответственно не запустить его? или тоже самое не сделать только с vbscript??? таким образом и связать и одно и другое и третье...
Ответить с цитированием
  #16 (permalink)  
Старый 08.03.2013, 09:19
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 322

kosmonavtom,
1. Ваш вопрос говорит о том, что вы не знаете простейших вещей при программировании на JS не для браузера
2. Найти что-либо в интернете или задать вопрос и получить ответ практически невозможно. Вам лишь будут пытаться объяснить, что, мол, "JS вне браузера не бывает"
3. Выводить всякую информацию (в т.ч. имя папки) на консоль можно разными способами, простейший
WScript.Echo( s );
где s - строковая переменная, содержащая то, что хотите вывести. Запускайте скрипт командой:
cscript filename.js
или поменяйте настройки, чтобы скрипт по умолчанию запускался в консольном режиме, напр, так:
cscript //H:cscript
(два слэша - существенно)

cyber,
Все, что можно сделать на VBScript можно и на JScript, он не только ничем не хуже, а даже лучше :-)

Последний раз редактировалось rgl, 08.03.2013 в 09:22.
Ответить с цитированием
  #17 (permalink)  
Старый 08.03.2013, 09:50
Интересующийся
Отправить личное сообщение для kosmonavtom Посмотреть профиль Найти все сообщения от kosmonavtom
 
Регистрация: 07.03.2013
Сообщений: 27

Цитата:
1. Ваш вопрос говорит о том, что вы не знаете простейших вещей при программировании на JS не для браузера...
rgl, похоже именно как раз Вы не вникли абсолютно в проблему! Мне не нужен однократный вывод одного сообщения, которое Вы описали и которое я конечно знаю, а мне нужно в процессе рекурсии выводить процесс её работы. Простым Echo не обойтись.
Ответить с цитированием
  #18 (permalink)  
Старый 08.03.2013, 10:04
Интересующийся
Отправить личное сообщение для kosmonavtom Посмотреть профиль Найти все сообщения от kosmonavtom
 
Регистрация: 07.03.2013
Сообщений: 27

Короче вот рекурсивный скрипт. Чтобы проверить его работу запишите его в любой файл *.js, поместите в папку где не очень много подпапок, Далее запустите его и вы замучаетесь щелкать появляющиеся Echo. Так вот мне нужно чтобы это было не ЕХО, а что-то другое, что позволяло бы продолжать работу скрипта без щелчков мыши. Можете посоветовать?

// 1 Взято но не рабочее с сайта: [url]http://forum.oszone.net/nextnewesttothread-199998.html[/url]
// 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]);
		
		}
	
	}
 
}
Ответить с цитированием
  #19 (permalink)  
Старый 08.03.2013, 13:25
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 322

Сообщение от kosmonavtom
и вы замучаетесь щелкать появляющиеся Echo
Если делать как я сказал, Echo будет выводить информацию не в модальное окно а в консоль, и ничего щелкать не нужно:
Сообщение от rgl
Запускайте скрипт командой:
cscript filename.js
или поменяйте настройки, чтобы скрипт по умолчанию запускался в консольном режиме, напр, так:
cscript //H:cscript
Ответить с цитированием
  #20 (permalink)  
Старый 08.03.2013, 13:35
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 322

kosmonavtom,
Нехорошо как то. Я ответил на ваш вопрос, ваш скрипт, если запускать его так, как я написал, выводит информацию на консоль, а вы, не дочитавши мой ответ до конца, минусики кликаете, мол, не по теме.

Последний раз редактировалось rgl, 08.03.2013 в 13:44.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод значения функции через равный интервал cOAPerator Общие вопросы Javascript 43 31.12.2012 01:54
Скрипты отправка сообщений между пользователями, скрипт вывод текста на страницу.... Rapala Элементы интерфейса 2 12.01.2011 16:27
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 15:21
Динамический вывод текстовых сообщений Артём Тарасов Общие вопросы Javascript 4 19.02.2009 12:36