Removendo linhas do arquivo txt do powershell

2

Estou tendo que simular o assassinato de tarefas da lista de processos. Eu recebo lista de processos, envio para o arquivo de texto process.txt e depois insiro o usuário na tarefa que eles querem matar. Meu principal problema, é que tenho que fazer isso em um loop. Mas a menos que eu mude o arquivo de saída para process2.txt, o arquivo inteiro é excluído. Então, quando eu chego na parte do loop onde eu peço para eles continuarem matando o processo até que eles abortem, eu acabo com muitos arquivos. Existe alguma maneira de manter o mesmo arquivo e apenas excluir a linha que eles entram?

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
    }
    
por Kevin Harvey 17.04.2016 / 16:59

1 resposta

0

Se você estiver chamando recursivamente essa função, basta retornar seu processo correspondente:

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)

Não sei por que process.txt ou process2.txt são criados para armazenar informações. Como SimonS mencionou, essa informação não pode ser armazenada em variáveis?

    
por 19.04.2016 / 03:42

Tags

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '385179',
    'url' => 'removing-lines-from-powershell-txt-file',
];

$_COOKIE = [
    'advanced-frontend' => 'lnosn8ut515obu0h5jaqmgi3e0',
    '_csrf-frontend' => 'b7f592e3b947ba5f9847231dabe2a55450a96bc96136b02c8f9b35451a05233fa:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"s22BNJEdU8l4KR58alR--o1WklEQL7ba";}',
];

$_SESSION = [
    '__flash' => [],
];