Как добавить текст новой строки в файл журнала, используя скрипт powershell? - PullRequest
0 голосов
/ 21 мая 2019

Мне нужно извлечь журналы из исходного пути в C: \, чтобы записать каталог в D: \ Logs, но каждый раз, когда исходный путь создает новый журнал, сценарию необходимо добавлять новые строки, а не заменять или перезаписывать целые строки.

Я уже пробовал это, но думаю, это заменит весь файл, и я не уверен насчет параметров Param.

$SourceFolder       = "C:\ProgramData\Sophos\Sophos Anti-Virus\logs"
$DestinationFolder  = "D:\Logs\SophosAntivirus"

Function ChangeTabToSpace 
{
    Param(
        [string] $OldFile = "",
        [string] $NewFile = ""
    )
    $OldText = (Get-Content $OldFile -Raw)
    #Change all tabt \t to space 
    $NewText = ($OldText -replace "`t"," ")
    #Delete the last empty line
    if ($NewText.Length -ge 2) {
        $NewText = $NewText.Substring(0,$NewText.Length-2)
    }
    if (!(Test-path "$NewFile")) {
        New-Item -type file "$NewFile" -force | Out-Null
    }
    #Write-Output $NewText | Out-File -Encoding utf8 "$NewFile"
    [System.IO.File]::WriteAllLines($NewFile, $NewText)
}

1 Ответ

1 голос
/ 21 мая 2019

Если это простой текстовый файл, вы можете использовать следующее

"the string you want or have" | out-file -path $path -append

Это добавит строку к новой строке в конце файла.

Вам не нужно передавать данные, как я ... просто я научился их использовать и просто продолжал их использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...