|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создание текстового файла из базы excel |
|
CMD/BAT - Создание текстового файла из базы excel
|
Пользователь Сообщения: 88 |
Профиль | Отправить PM | Цитировать
Уважаемые знатоки!
помогите написать bat файл по следующим условиям: Есть текстовый файл, состоящий из 10 строк: [0] name=ХХХХХ bdate=23.05.1969 btime=08:00:00 event=Таймер photo= RunOnce=0 cmd= ScanDays=5 Color= И есть база данных в формате excel состоящая из трех столбцов - номер, фио и дата. Необходимо чтобы при запуске бат файла копировался блок строк(10+пустая) из текстового файла, вставлялся в конец этого файла при этом заменял значения полей [0], name=, bdate= на значения из файла базы excel и так до окончания заполненных строк в базе excel. Спасибо!) |
|
Отправлено: 23:50, 23-05-2020 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Param( $pathXls = "C:\База.xlsx", $pathTxt = "C:\bm.txt" )cls $i=2;$a = gc $pathTxt -To 10;$Excel = New-Object -ComObject Excel.Application $WorkBook=$Excel.Workbooks.Open($pathXls);$WorkSheet=$WorkBook.Sheets.Item(1) do{ $b=$a;$i++;$b+='' $b[0] = "[$($Worksheet.Range("b$i").text)]" $b[1] = "name=$($Worksheet.Range("c$i").text)" $b[2] = "bdate=$($Worksheet.Range("d$i").text)" if ($( $Worksheet.Range("b$i").text ) -eq '') {break}$b|Add-Content $pathTxt } while($true);$Excel.Quit();notepad $pathTxt |
Последний раз редактировалось Fors1k, 24-05-2020 в 20:56. Отправлено: 15:48, 24-05-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2703
|
Профиль | Отправить PM | Цитировать VBS
FileInTxt = "Z:\Box_In\TxtBlanc.txt" FileInBas = "Z:\Box_In\База.xlsx" FileOut = "Z:\Box_Out\База.txt" MRep = Array("^\[.*\] *", "B3", _ "name=", "C3", _ "bdate=", "D3") LRep = LBound(MRep) URep = UBound(MRep) Set Book = CreateObject("Excel.Application") Book.Visible = False 'True ' False ' Book.Workbooks.Open FileInBas Set FSO = CreateObject("Scripting.FileSystemObject") Set fIn = FSO.OpenTextFile(FileInTxt, 1, False) InTxt = Trim(fIn.ReadAll) fIn.Close If Right(InTxt, 2) <> vbCrLf Then InTxt = InTxt + vbCrLf Set F = FSO.CreateTextFile(FileOut, True) Skip = "" With CreateObject("VBScript.RegExp") .IgnoreCase = True j = 0 Do If Trim(Book.Range(MRep(LRep + 1)).Offset(j, 0)) = "" Then Exit Do For i = LRep To URep Step 2 If i = LRep Then .Pattern = MRep(i) + vbCrLf InTxt = .Replace(InTxt, "[" + CStr(Book.Range(MRep(i + 1)).Offset(j, 0)) + "]" + vbCrLf) Else .Pattern = vbCrLf + MRep(i) + ".*" + vbCrLf InTxt = .Replace(InTxt, vbCrLf + MRep(i) + CStr(Book.Range(MRep(i + 1)).Offset(j, 0)) + vbCrLf) End If Next j = j + 1 F.Write Skip + InTxt Skip = vbCrLf Loop End With F.Close 'Book.ActiveWorkbook.Close Book.Quit |
------- Отправлено: 20:36, 24-05-2020 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - Импорт данные из текстового файла (*.txt) в таблицу Excel | Serg2010 | Скриптовые языки администрирования Windows | 19 | 14-10-2019 20:13 | |
CMD/BAT - [решено] Создание текстового файла с набором символов | 4zz | Скриптовые языки администрирования Windows | 22 | 28-03-2019 13:11 | |
CMD/BAT - Сборка текстового файла из содержимого другого текстового файла | icomboy | Скриптовые языки администрирования Windows | 0 | 10-09-2013 15:17 | |
CMD/BAT - [решено] Создание текстового файла с последовательными числами указанного диапазона | 91892823 | Скриптовые языки администрирования Windows | 2 | 03-08-2012 06:43 | |
CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д. | Nun-Nun | Скриптовые языки администрирования Windows | 6 | 13-05-2009 13:28 |
|