Я пытаюсь просто удалить первую строку приблизительно 5 000 текстовых файлов прежде, чем импортировать их.
Я все еще очень плохо знаком с PowerShell, таким образом, не уверенным, что искать или как приблизиться к этому. Мое текущее понятие с помощью псевдокода:
set-content file (get-content unless line contains amount)
Однако я, может казаться, не выясняю, как сделать что-то, любят, содержит.
Это не самый эффективный в мире, но это должно работать:
get-content $file |
select -Skip 1 |
set-content "$file-temp"
move "$file-temp" $file -Force
Использование изменяемой записи, вы можете сделать это без временного файла:
${C:\file.txt} = ${C:\file.txt} | select -skip 1
function Remove-Topline ( [string[]]$path, [int]$skip=1 ) {
if ( -not (Test-Path $path -PathType Leaf) ) {
throw "invalid filename"
}
ls $path |
% { iex "`${$($_.fullname)} = `${$($_.fullname)} | select -skip $skip" }
}
skip` не сработало, поэтому мой способ обхода:
$LinesCount = $(get-content $file).Count
get-content $file |
select -Last $($LinesCount-1) |
set-content "$file-temp"
move "$file-temp" $file -Force