Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/40: Рейтинг темы: голосов - 40, средняя оценка - 4.98
5 / 5 / 3
Регистрация: 02.11.2010
Сообщений: 140

Поиск в папке и подсчет файлов

12.02.2015, 14:15. Показов 7745. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Нужна ваша помощь.
Имеется папка с файлами:
fge00022243.txt
fge00022203.txt
fge00022220.txt
mge00022200.txt
mge000222ss.txt
mge00022243.txt

необходимо вывести в txt файл количество найденных файлов по маске mge*.txt fge*.txt

fge*** - 3
mge*** - 3

Буду очень благодарен за помощь
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.02.2015, 14:15
Ответы с готовыми решениями:

Подсчет файлов в папке
Подскажите плз функцию посчета кол-ва файлов в папке.Что бы выводил число соответствующее кол-ву фаилов в данной папке.Зарание безмерно...

Подсчет количества файлов в папке
ПОМОГИТЕ плз!!!!!!! как написать батник для подсчета количества файлов в каталоге!!!!

Подсчет количества файлов в папке
Доброго времени суток. Нужно было вывести количество файлов в папке определенного расширения через DirectoryInfo, но есть проблема: если во...

5
Модератор
 Аватар для Curry
5158 / 3480 / 536
Регистрация: 01.06.2013
Сообщений: 7,542
Записей в блоге: 9
12.02.2015, 15:35
Лучший ответ Сообщение было отмечено Dragokas как решение

Решение

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
var fso = new ActiveXObject("Scripting.FileSystemObject");
var CurDir = fso.GetFolder("D:\\samples\\js");
var Files = CurDir.Files;
var regex = /^[fm]ge.*\.txt$/i;
var a = fso.CreateTextFile("testfile.txt", true);
for(var fileitem = new Enumerator(Files); !fileitem.atEnd(); fileitem.moveNext())
{
    var fileAttachment = fileitem.item();
    if (regex.test(fileAttachment.Name))
        a.WriteLine(fileAttachment.Name);
}
a.Close();
Добавлено через 1 минуту
Сохраняем в файле с расширение js, запускаем как обычный файл

Добавлено через 3 минуты
Пардон, Вам кол-во нужно, а не список файлов. Тогда так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var fso = new ActiveXObject("Scripting.FileSystemObject");
var CurDir = fso.GetFolder("D:\\samples\\js");
var Files = CurDir.Files;
var regex = /^[fm]ge.*\.txt$/i;
var a = fso.CreateTextFile("testfile.txt", true);
var n=0;
for(var fileitem = new Enumerator(Files); !fileitem.atEnd(); fileitem.moveNext())
{
    var fileAttachment = fileitem.item();
    if (regex.test(fileAttachment.Name))
        n++;
}
a.WriteLine(n);
a.Close();
3
5 / 5 / 3
Регистрация: 02.11.2010
Сообщений: 140
12.02.2015, 16:43  [ТС]
Спасибо буду пробовать и разбираться
0
2619 / 549 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
13.02.2015, 20:49
Лучший ответ Сообщение было отмечено Dragokas как решение

Решение

Если использовать метод Filter объекта FolderItems, то можно обойтись без циклов. Пример на VBS:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim objShell, objFolderItems, objFS, objFile, strPath
strPath = "D:\"
Set objFS = CreateObject ("Scripting.FileSystemObject")
If objFS.FolderExists(strPath) Then
    Set objFile = objFS.CreateTextFile(strPath & "Report.txt", True)
    Set objShell = CreateObject("Shell.Application")
    Set objFolderItems = objShell.NameSpace(strPath).Items
    objFolderItems.Filter 64 + 128, "mge*.txt"
    objFile.WriteLine "Кол-во файлов по маске mge*.txt (со скрытыми) = " & objFolderItems.Count
    objFolderItems.Filter 64 + 128, "fge*.txt"
    objFile.WriteLine "Кол-во файлов по маске fge*.txt (со скрытыми) = " & objFolderItems.Count
    objFile.Close
    Set objFolderItems = Nothing: Set objShell = Nothing: Set objFile = Nothing
    'WScript.Echo "Готово."
Else
    WScript.Echo "Не найден путь " & strPath
End If
Set objFS = Nothing
WScript.Quit 0
5
 Аватар для ComSpec
3462 / 2000 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
14.02.2015, 17:14
Лучший ответ Сообщение было отмечено Dragokas как решение

Решение

Варианты с использованием командной строки и PowerShell:


Visual Basic
1
2
3
4
Dim sPath : sPath = "C:\Test\"
CreateObject ("WScript.Shell").Run "cmd /c ""(for %i in (f m) do @set/p=%ige*** - & dir/a-d/b """ & _
sPath & "%ige*.txt""| find/c /v """")<nul>""Отчёт.txt""""", 0
WScript.Quit 0
;

Visual Basic
1
2
3
4
Dim sPath : sPath = "C:\Test\"
CreateObject ("WScript.Shell").Run "powershell ""$(foreach($i in 'f','m'){""""""$($i)ge*** - $((gci """"""" & _
sPath & "$($i)ge*.txt"""""").count)""""""})|out-file 'Отчёт.txt'""", 0
WScript.Quit 0
.



Файл отчёта будет создаваться с директории, из которой запущен VBS-файл. Как и в случае отсутствия нужных файлов, в случае отсутствия пути в файл отчёта будут записываться нули, что и логично: нет пути -- нет файлов.
2
Модератор
 Аватар для Curry
5158 / 3480 / 536
Регистрация: 01.06.2013
Сообщений: 7,542
Записей в блоге: 9
14.02.2015, 20:22
Лучший ответ Сообщение было отмечено Dragokas как решение

Решение

Мы пропустили ещё одну технологию, заявленную в заголовке - WMI.
Код на VBS
Visual Basic
1
2
3
4
5
6
7
Set objWMIService = GetObject("winmgmts:!\\.\root\cimv2")
Set colFiles = objWMIService.ExecQuery ("Select * from CIM_DataFile where " _
   & "Drive = 'D:'  and Path = '\\samples\\vbs\\'" _
   & " and FileName LIKE '[fm]ge%' and Extension = 'txt'")
For Each objFile in colFiles
     Wscript.Echo objFile.Name
Next
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.02.2015, 20:22
Помогаю со студенческими работами здесь

Подсчет количества файлов в папке
Всем привет.Подскажите как можно подсчитать количество файлов в папке, включая все подкатологи?

Подсчет файлов находящихся в папке
помогите написать новый или исправить мой скрипт подсчета файлов в определенной папке $count = 0; $dir = opendir(&quot;/dir/&quot;);...

Подсчет файлов в папке и вывод значения в ячейку
Здравствуйте! Есть макрос, который в подсчитывает количество файлов, находящихся в заданной папке. Необходимо полученное значение...

Подсчет количества файлов в папке, размер которых не превышает указанный
Помогите пожалуйста!!! нужно написать программу для подсчета количества файлов в папке, размер которых не превышает указанный. и...

Как найти названия файлов в текстовом файле, а потом осуществить поиск в папке файлов по этим именам?
Здравствуйте. Подскажите, пожалуйста. У меня есть текстовый файл, где находятся имена файлов и есть папка, где много всяких файлов, в том...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru