Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


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

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


Многое непонятно в этой таблице. Где в ней, скажем, имя файла? Или, получается, оно вообще не нужно, несмотря на написанное ранее?! Какое соответствие между заголовками таблицы и перечисленными параметрами для выборки?

Что-то со скрипом идёт у меня PowerShell. Попробуйте на WSH:
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strSourceFolder
Dim objFSO

Dim dictPatterns
Dim dictLine

Randomize Timer

Set dictPatterns = WScript.CreateObject("Scripting.Dictionary")
Set dictLine     = WScript.CreateObject("Scripting.Dictionary")

With dictPatterns
	' Параметр, Заголовок столбца
	.Add "netconf.3.ip",    "IP адрес"
	.Add "aaa.1.ssid",      "bla-bla-bla1"
	.Add "radio.1.chanbw",  "bla-bla-bla2"
	.Add "radio.1.freq",    "Частота"
	.Add "users.1.name",    "bla-bla-bla3"
	.Add "wireless.1.ssid", "bla-bla-bla4"
End With

If WScript.Arguments.Count = 1 Then
	strSourceFolder = WScript.Arguments.Item(0)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FolderExists(strSourceFolder) Then
		WScript.StdOut.WriteLine Join(dictPatterns.Items(), ";")
		
		ScanSubFolders objFSO.GetFolder(strSourceFolder), "cfg"
	Else
		WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
		WScript.Quit 2
	End If
	
	Set objFSO = Nothing
Else
	WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source file>"
	WScript.Quit 1
End If

dictLine.RemoveAll
dictPatterns.RemoveAll

Set dictLine     = Nothing
Set dictPatterns = Nothing

WScript.Quit 0
'=============================================================================

'=============================================================================
Sub ScanSubFolders(objFolder, strFileExt)
	Dim objFile
	Dim objSubFolder
	
	Dim arrContent
	Dim arrFilteredContent
	
	Dim strKey
	
	Dim arrKeyValuePair
	
	
	For Each objFile In objFolder.Files
		If StrComp(objFSO.GetExtensionName(objFile.Name), strFileExt, vbTextCompare) = 0 Then
			With objFSO.OpenTextFile(objFile.Path)
				arrContent = Split(.ReadAll(), vbLf)
				.Close
			End With
			
			For Each strKey In dictPatterns.Keys
				arrFilteredContent = Filter(arrContent, strKey & "=", True, vbTextCompare)
				
				If UBound(arrFilteredContent) >= 0 Then
					arrKeyValuePair = Split(arrFilteredContent(0), "=")
					dictLine.Add arrKeyValuePair(0), """" & arrKeyValuePair(1) & """"
				Else
					dictLine.Add Rnd(), ""
				End If
			Next
			
			WScript.StdOut.WriteLine Join(dictLine.Items(), ";")
			
			dictLine.RemoveAll
		End If
	Next
	
	For Each objSubFolder In objFolder.SubFolders
		ScanSubFolders objSubFolder, strFileExt
	Next
End Sub
'=============================================================================

Вызывайте в виде:
Код: Выделить весь код
>"Result.csv" cscript.exe //nologo "Путь\Скрипт.vbs" "Путь к искомой папке"
Вот, что получилось у меня на основе предложенных Вами файлов:
Скрытый текст
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:41, 27-01-2017 | #7