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

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

Ответить
Настройки темы
VBS/WSH/JS - Как каталогизировать папки средствами JS ?

Пользователь


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

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


Имеется папка с множеством вложенных папок разных уровней вложения и файлы в каждой из них.
Необходимо методами JS разместить в каждой папке текстовый файл со списком содержащихся в ней файлов (но не папок) и именем папки в кодировке 1251.
Прошу помощи.

Отправлено: 13:52, 01-05-2018

 

Ветеран


Contributor


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

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


Busla, ruslaw, Вариант в атрибутами исправлен.
Iska, Второй бит отвечает за скрытность. Третий - за системность.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 12:18, 02-05-2018 | #11



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

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


Ветеран


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

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


Цитата megaloman:
- Скромничаете? »
Увы, нет.

Цитата megaloman:
я крайне слабо знаю JScript и, главное, его недолюбливаю. »
Аналогично.


Цитата megaloman:
Предложенное решение с атрибутами наверное очень кривое. Дело в том, что значение атрибута папки может принимать достаточно многочисленные значения, как сумма всех атрибутов, например: Папка (16), папка архивная (48), скрытая (18), системная (20), скрытая и системная (22), скрытая системная архивная (54) и это далеко не все значения. Как вычленить из всего многообразия значений признак скрытости не знаю. Наверное, есть какой-то метод или арифметический трюк .... »
Решение вполне нормальное, только сравнивать нужно именно биты (а точнее — наложить на атрибуты маску из потребных битов), так, как это показано в сообщении коллеги Busla, в данном случае а):
Код: Выделить весь код
if(Folds.Attributes & 18) {return} // Directory (16) + Hidden (2)
либо просто:
Код: Выделить весь код
if(Folds.Attributes & 2) {return} // Hidden (2)
учитывая то, что тут у нас и так всегда будут только каталоги, и нет необходимости проверять сие отдельно, и б) нам необходимо и достаточно проверить наличие только атрибута Hidden, а остальные атрибуты нам по сути безразличны: есть ли они, нет ли их — нам не важно.

Цитата megaloman:
Iska, Второй бит отвечает за скрытность. Третий - за системность. »
Правильнее будет так — первый и второй: отсчёт битов принято вести с нуля — нулевой, первый, второй и т.д.

Отправлено: 13:49, 02-05-2018 | #12


Пользователь


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

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


megaloman, преогромное спасибо, и батник и JS работают идеально, как я ожидал.
Busla, Iska, спасибо за ценные замечания, несмотря на свою скромную компетентность, я уловил смысл.
Друзья, жму всем руки!

Отправлено: 22:49, 02-05-2018 | #13


Ветеран


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

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


Цитата Iska:
Busla, мысль правильная, но выражена не вполне точно. Проверять надо не один единственный бит, а все биты.»
ok, проверять надо отдельные биты, а все биты скопом проверялись в исходном варианте при сравнении с конкретным числом

Цитата Iska:
К языку программирования это также имеет отношение — надо использовать именно битовые логические операторы/функции, а не просто логические (там, где они отличаются). »
речь была о методике работы, а не о конкретном синтаксисе

в каком языке логические операторы не отличаются от двоичных?

Отправлено: 10:08, 03-05-2018 | #14


Ветеран


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

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


Цитата Busla:
ok, проверять надо отдельные биты, а все биты скопом проверялись в исходном варианте при сравнении с конкретным числом »
Да, так будет правильнее.

Цитата Busla:
в каком языке логические операторы не отличаются от двоичных? »
В VBScript, в VBA. В VB, надо полагать, было так же (лень сейчас проверять/искать). И, если я правильно понимаю, в VB.Net всё осталось ровно то же самое: Logical and Bitwise Operators in Visual Basic | Microsoft Docs.

Отправлено: 10:53, 03-05-2018 | #15



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Node.js (JS+DB (на JSON) + VK_API nexagns72 Программирование и базы данных 0 22-09-2017 20:02
VBS/WSH/JS - Подскажите как копировать файлы js vitalijch Скриптовые языки администрирования Windows 0 25-03-2012 18:00
[решено] JS. Как установить onblur из JS? Sanchos Вебмастеру 2 04-07-2010 13:16
[решено] Перемещение папки Users и изменение букв дискам средствами WAIK alcatraz Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 10 28-02-2009 03:04
VBS/WSH/JS - как создать VBArray в JS? pva Скриптовые языки администрирования Windows 3 16-11-2008 21:21




 
Переход