Рекомендую ознакомиться со следующими книгами:
Гюнтер Борн "Руководство разработчика на Microsoft Windows Script Host" Андрей Попов "Windows Script Host для Windows 2000, XP" |
cyber, js рекурсивно работает с папками и заменяет свойства ярлыков в них. И теперь просто осталось вывести ход работы этого js - можно и не в cmd. Понимаю, что данную функцию можно было написать и программно допустим в Си, но мне было интересно именно в js
|
rgl, спасибо за рекомендацию, но обычно если набрать какой либо вопрос в Интернете то гораздо более понятней из готовых кодов как работает язык.
|
kosmonavtom, я в тупую не могу понять как вы выполняете js скрипт через cmd и темболее меняете свойства, может vbscript
|
cyber, ну как же? В js можно создавать текстовые файлы, в js можно запускать bat файлы, так почему в одном js скрипте-файле не создать bat файл, а потом соответственно не запустить его? или тоже самое не сделать только с vbscript??? таким образом и связать и одно и другое и третье...
|
kosmonavtom,
1. Ваш вопрос говорит о том, что вы не знаете простейших вещей при программировании на JS не для браузера 2. Найти что-либо в интернете или задать вопрос и получить ответ практически невозможно. Вам лишь будут пытаться объяснить, что, мол, "JS вне браузера не бывает" 3. Выводить всякую информацию (в т.ч. имя папки) на консоль можно разными способами, простейший WScript.Echo( s ); где s - строковая переменная, содержащая то, что хотите вывести. Запускайте скрипт командой: cscript filename.js или поменяйте настройки, чтобы скрипт по умолчанию запускался в консольном режиме, напр, так: cscript //H:cscript (два слэша - существенно) cyber, Все, что можно сделать на VBScript можно и на JScript, он не только ничем не хуже, а даже лучше :-) |
Цитата:
|
Короче вот рекурсивный скрипт. Чтобы проверить его работу запишите его в любой файл *.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]); } } } |
Цитата:
Цитата:
|
kosmonavtom,
Нехорошо как то. Я ответил на ваш вопрос, ваш скрипт, если запускать его так, как я написал, выводит информацию на консоль, а вы, не дочитавши мой ответ до конца, минусики кликаете, мол, не по теме. |
Часовой пояс GMT +3, время: 08:06. |