powershell txt 파일에서 줄 제거

powershell txt 파일에서 줄 제거

프로세스 목록에서 작업 종료를 시뮬레이션해야 합니다. 프로세스 목록을 가져와 텍스트 파일 process.txt로 보낸 다음 사용자가 종료하려는 작업을 입력하도록 합니다. 내 주요 문제는 이 작업을 반복해서 수행해야 한다는 것입니다. 그러나 out-file을 process2.txt로 변경하지 않으면 전체 파일이 삭제됩니다. 따라서 중단될 때까지 프로세스 종료를 계속하도록 요청하는 루프 부분에 도달하면 결국 많은 파일이 생성됩니다. 어쨌든 동일한 파일을 유지하고 입력한 줄을 삭제할 수 있습니까?

function KillTask {
    get-process | out-file "D:\process.txt"
    Get-Content -Path D:\process.txt
    $Killtask = Read-Host -Prompt "What task would you like to kill"
    get-content D:\process.txt | select-string -AllMatches $killtask -  notmatch |         Out-File D:\process2.txt -force
    Get-Content -Path D:\process2.txt
    }

답변1

이 함수를 재귀적으로 호출하는 경우 일치하는 프로세스를 반환하면 됩니다.

function KillTask {
   get-process | out-file "D:\process.txt"
   $Killtask = Read-Host -Prompt "What task would you like to kill"
   get-content D:\process.txt | select-string -AllMatches $killtask
}

Do {
   $process = KillTask
   # do stuff with the process
} While ($process)

정보를 저장하기 위해 process.txt 또는 process2.txt가 왜 생성되었는지 잘 모르겠습니다. SimonS가 언급했듯이 이 정보는 변수에 저장할 수 없나요?

관련 정보