none
[PowerShell Tips] Text File 관리 RRS feed

  • 일반 토론

  • 질문

     

    PowerShell에서 Text파일을 관리할 수 있습니다.

     

    답변

     

    Step 1 : text파일 생성

    .NET Framework를 이용해서 text파일을 생성할 수 있습니다.


    Script

    function New-TextFile

    {

        param

        (

            [Parameter(Mandatory=$true)]

            $filepath

        }     

        $file = New-Object System.IO.StreamWriter $path

        $file.Close()

    }

     

    사용

    New-TextFile “C:\temp1.txt’

     

    Step 2 : 파일 읽기

    .NET Framework를 이용해서 파일을 읽을 수 있습니다.

    Script
    아래의 Script는 내용에 라인번호를 추가해서 출력을 합니다.

    function Get-TextFileWithNumber

    {

        param

        (

            [Parameter(Mandatory=$true)]

            $filepath     

        )   

        $file = New-Object System.IO.StreamReader $filepath   

        $i = 0;

        While($file.Peek() -ne -1)

        {

            $i = $i + 1;

            [System.String]::Format("{0}. {1}", $i, $file.ReadLine());

        }              

    }

     

    사용

    Get-TextFileWithNumber 'C:\Tempfile.txt'

     

    Step 3 : 파일 쓰기

    .NET Framework를 이용해서 파일 내용을 추가 할 수 있습니다.

    Script

    function Set-TextFile

    {

        param

        (

            [Parameter(Mandatory=$true)]

            $filepath,

            [Parameter(Mandatory=$true)]

            $content

        )

     

        $file = New-Object System.IO.StreamWriter $path, $true

           

        $file.Write($content)

     

        $file.Close();

    }

     

    사용

    Set-TextFile 'C:\Tempfile.txt' 'Add Content.'

     

     

    Step 4 : 베타적으로 파일 열기

     

    Script

    function Open-TextFileExclusively

    {

        param(

            [Parameter(Mandatory=$true)]

            $filepath

        )

        $file = [System.io.File]::Open($filepath, 'Open', 'Read', 'None')

     

        $reader = New-Object System.IO.StreamReader($file)

     

        $text = $reader.ReadToEnd()

       

        Read-Host 'Press ENTER to release file!'

     

        $reader.Close()        

        $file.Close()

    }

     

    사용

    Open-TextFileExclusively 'C:\Tempfile.txt'

     

     

     

    참고 자료

     

    StreamWriter Class

    http://msdn.microsoft.com/ko-kr/library/system.io.streamwriter.aspx

    StreamReader Class

    http://msdn.microsoft.com/ko-kr/library/system.io.streamreader.aspx

    New-Object

    http://technet.microsoft.com/en-us/library/dd315334.aspx

    2011년 10월 21일 금요일 오전 8:43
    중재자