Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 06.06.2014
Сообщений: 20
VBS

Выделять из имени каждого файла имя компьютера и имя учётной записи и записывать их в два файла соответственно

20.08.2015, 18:34. Показов 3147. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте, подскажите...
Есть например, 10 файлов (.txt) в названии которых написано имя компьютера и имя учетной записи
Так же в этом файле на 2 строчке есть это же имя компьютера, а на 3 строчке имя учетной записи.

Как можно собрать из названия файлов имена компьютеров в один файл, а имена учеток в другой.
Файлы создаются скриптом на компьютере и ложатся на сервер в папку, они всегда такого вида:

Имя компьютера_Имя учетной записи
Пример:
CBT-Q-54780 DurakBR.txt
CBT-Q-54780 SultanovVR.txt

Подсказали это можно сделать с помощью функции Split



Сам скрипт:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Set WMIOS = GetObject("winmgmts:\\.\root\CIMV2") 
Set OSList = WMIOS.ExecQuery("Select * FROM Win32_OperatingSystem",,48) 
Set Ulist = WMIOS.ExecQuery( "Select * from Win32_ComputerSystem",, 48) 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set WshNetwork = WScript.CreateObject("WScript.Network") 
Const OverwriteExisting = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject")
 
If Not fso.FolderExists("C:\comp_name\") Then 
fso.createfolder "C:\comp_name\" 
End If
 
 
' Создание объекта класса FileSystemObject
Set oFSO = CreateObject("Scripting.FileSystemObject")
' Создание объекта Folder
Set oFolder = oFSO.GetFolder("C:\comp_name\1")      '!!!Предварительно нужно создать файлы в этом каталоге для проверки
' Получение коллекции файлов
Set oFilesCollection = oFolder.Files
' Получение количества элементов в коллекции
'sResult = sResult & oFilesCollection.Count & " files in C:\comp_name\1" & vbCrLf
' Чтение атрибутов каждого файла из коллекции
For Each oFile in oFilesCollection
    sResult = sResult & oFile.Name  &  vbTab  & vbCrLf
Next
 
fpath = "C:\comp_name\" 'Тут вводим свой путь. И не забудьте \ на конце,  !!!!проверок в скрипте нет!!!!. 
 
' ----------------------Основной список--------------------------------------------------
For Each objItem in OSList 
   compname = objItem.CSName 
Next 
 '----------------------------Пользователь--------------------------------------------
For Each objItem in Ulist 
   username = objItem.UserName 
Next 
 
fpath = fpath & compname & " " & WshNetwork.username & ".txt"  'создание файла - имя пк_имя учетки
 
 '-----------------------------Вывод----------------------------------------------------------
 
Set lstfile = fso.OpenTextFile (fpath, 2, TRUE)
   lstfile.WriteLine "----------------------------------(Информация)----------------------------------" 
   lstfile.WriteLine "--------------------------------------------------------------------------------"
   lstfile.WriteLine ("файлы =" & ":" & Space(4) &  vbCrLf & sResult)
lstfile.close
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.08.2015, 18:34
Ответы с готовыми решениями:

Как послать имя компьютера и имя учетной записи с ip письмом
Добрый день. Шеф поставил задачу, собрать данные из компьютеров внутри нашей локальной сети, а именно нужно что бы при запуске скрипта на...

Имя учетной записи компьютера в VBA
Друзья! Оооооочень много вариантов получения имени пользователя, однако почти ничего не нашел, как найти имя учетной записи...

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить с этого рядка имя файла без расширения
На с++

2
2619 / 549 / 109
Регистрация: 21.03.2012
Сообщений: 1,051
21.08.2015, 21:19
Лучший ответ Сообщение было отмечено allanian как решение

Решение

Цитата Сообщение от allanian Посмотреть сообщение
... можно сделать с помощью функции Split
Можно, но её использование будет неудобным, если в именах пользователей возможно наличие пробелов и (или) в обрабатываемой папке могут находится файлы с другим типом именования, которые нужно пропустить.
Пример без использования функции Split():
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Dim objFS, objFile, strPath, strComputers, strUsers, strStations, strNames, strTemp, intTemp
 
strComputers = "Computers.txt"
strUsers = "Users.txt"
strPath = "D:\Temp"
Set objFS = CreateObject("Scripting.FileSystemObject")
If objFS.FolderExists(strPath) Then
    If objFS.GetFolder(strPath).Files.Count > 0 Then
        strComputers = objFS.BuildPath(objFS.GetParentFolderName(WScript.ScriptFullName), strComputers)
        strUsers = objFS.BuildPath(objFS.GetParentFolderName(WScript.ScriptFullName), strUsers)
        For Each objItem In objFS.GetFolder(strPath).Files
            strTemp = objItem.Name
            If Len(strTemp) > 6 Then
                intTemp = InStr(strTemp, " ")
                If intTemp > 0 And intTemp + 4 < Len(strTemp) Then
                    strStations = strStations & Left(strTemp, intTemp - 1) & vbNewLine
                    strNames = strNames & Mid(strTemp, intTemp + 1, Len(strTemp) - intTemp - 4) & vbNewLine
                End If
            End If
        Next
        If Len(strStations) > 0 And Len(strNames) > 0 Then
            Set objFile = objFS.CreateTextFile(strComputers, True)
            objFile.Write strStations
            objFile.Close
            Set objFile = objFS.CreateTextFile(strUsers, True)
            objFile.Write strNames
            objFile.Close
            Set objFile = Nothing
            WScript.Echo "Готово."
        Else
            WScript.Echo "Ничего не найдео."
        End If
    Else
        WScript.Echo "Каталог-источник пуст."
    End If
Else
    WScript.Echo "Не найден путь " & strPath
End If
Set objFS = Nothing
WScript.Quit 0
2
0 / 0 / 0
Регистрация: 06.06.2014
Сообщений: 20
21.08.2015, 22:55  [ТС]
благодарю)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.08.2015, 22:55
Помогаю со студенческими работами здесь

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить с этого рядка имя файла без расширения/
C++

Изменение имени пользователя (имя локальной учетной записи) в Windows 10
Как безопасно переименовать имя пользователя (локальная учетная запись (администратор)) в Windows 10? Комп подключен к локальной сети....

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

Дана строка содержащая полное имя файла.Выделить из этой строки только имя файла без расширения
1.Дан символ С.Вывести его код (то есть номер в кодовой таблице) 2. Дан символ С.Вывести два символа, первый из которых предшествует...

Дана строка, содержащая полное имя файла. Выделить из этой строки имя и расширение файла
дана строка, содержащая полное имя файла, т.е. имя диска, список каналов(путь), собственно имя и расширение.выделить 1) из этой строки имя...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru