Всего доброго ув. форумчане, в программировании я новичок, так что не ругайте сильно если что)
В общем пишу скрипт, которые собирает из двух файлов один и перекидывает в папку, почти все получилось, но функция FileWriteLine добавляет пустую строчку в конце файла, как будто в конце нажали Enter. Как избавиться от этой строчки? Смотрю в сторону регуляр. выражений, но это такой темный лес для меня. Версия AutoIt 3.3.8.1
Вот сам код:
В общем пишу скрипт, которые собирает из двух файлов один и перекидывает в папку, почти все получилось, но функция FileWriteLine добавляет пустую строчку в конце файла, как будто в конце нажали Enter. Как избавиться от этой строчки? Смотрю в сторону регуляр. выражений, но это такой темный лес для меня. Версия AutoIt 3.3.8.1
Вот сам код:
Код:
#include <Date.au3>
$data = _NowDate()
;Поиск и копирование последнего 00 файла
; Показывает имена всех файлов в текущей директории.
$search = FileFindFirstFile("C:\Users\Admin\Desktop\sal1\TTFILE00\*.*")
; Проверка, является ли поиск успешным
If $search = -1 Then
MsgBox(4096, "Ошибка", "Ни один из файлов или каталогов не соответствует образцу поиска")
Exit
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
$t = FileGetTime("C:\Users\Admin\Desktop\sal1\TTFILE00\"&$file)
If Not @error Then
$yyyymd = $t[2] & "." & $t[1] & "." & $t[0]
EndIf
If $yyyymd=$data Then
FileCopy("C:\Users\Admin\Desktop\sal1\TTFILE00\"&$file, "D:\ats6\"&$file)
$file00 = $file
EndIf
WEnd
; Закрывает дескриптор поиска
FileClose($search)
;Поиск последнего 01 файла
; Показывает имена всех файлов в текущей директории.
$search = FileFindFirstFile("C:\Users\Admin\Desktop\sal1\FILE01\*.*")
; Проверка, является ли поиск успешным
If $search = -1 Then
MsgBox(4096, "Ошибка", "Ни один из файлов или каталогов не соответствует образцу поиска")
Exit
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
$t = FileGetTime("C:\Users\Admin\Desktop\sal1\FILE01\"&$file, 1)
If Not @error Then
$yyyymd = $t[2] & "." & $t[1] & "." & $t[0]
EndIf
If $yyyymd=$data Then
$file01 = $file
EndIf
WEnd
; Закрывает дескриптор поиска
FileClose($search)
; Открывает файл 01 и вставляет строку из 01 файла
$file = FileOpen("C:\Users\Admin\Desktop\sal1\FILE01\"&$file01, 0)
; Проверяет, является ли файл открытым, перед тем как использовать функции чтения/записи в файл
If $file = -1 Then
MsgBox(4096, "Ошибка", "Невозможно открыть 01 файл.")
Exit
EndIf
; Читает построчно текст, пока не будет достигнут конец файла EOF\
While 1
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
$line01 = $line
WEnd
FileClose($file)
; Открывает файл 00 и вставляет строку из 01 файла
$file = FileOpen("D:\ats6\"&$file00, 1)
; Проверяет, является ли файл открытым, перед тем как использовать функции чтения/записи в файл
If $file = -1 Then
MsgBox(4096, "Ошибка", "Невозможно открыть 00 файл.")
Exit
EndIf
FileWriteLine($file,$line01 & @CRLF)
FileClose($file)
; Переименовывает файл по дате
$t = FileGetTime("D:\ats6\"&$file00, 1)
$day = $t[2]-1
$yyyymd = $t[0] & $t[1] & $day
FileMove("D:\ats6\"&$file00, "D:\ats6\"&$yyyymd&".LOG");
Exit