Что нового

[Файловая система] FileWriteLine добавляет символ перевода строки даже с @CRLF

DamiX

Новичок
Сообщения
1
Репутация
0
Всего доброго ув. форумчане, в программировании я новичок, так что не ругайте сильно если что)
В общем пишу скрипт, которые собирает из двух файлов один и перекидывает в папку, почти все получилось, но функция 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
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
DamiX,
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.
 
Верх