0 / 0 / 0
Регистрация: 06.06.2014
Сообщений: 20
VBS

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

20.08.2015, 18:34. Показов 3167. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru