Trim Cell Содержимое ячейки в столбце w / Powershell [дубликат]

XML_HTMLSax довольно стабилен - даже если он больше не поддерживается. Другой вариант может заключаться в том, чтобы передать вам HTML через Html Tidy , а затем проанализировать его стандартными инструментами XML.

0
задан Ansgar Wiechers 18 January 2016 в 13:31
поделиться

2 ответа

Вы не можете читать и писать из / в один и тот же файл одновременно. Не с StreamReader и StreamWriter, ни с любым другим обычным методом. Если вам необходимо изменить существующий файл и не можете (или не хотите) читать весь его контент в памяти, вы должны записать измененный контент во временный файл, а затем заменить оригинал на временный файл после закрытия обоих файлов.

Пример:

$filename = (Get-Item $file).Name

$streamReader = New-Object IO.StreamReader -Arg $file
$streamWriter = [System.IO.StreamWriter] "$file.tmp"

...

$streamReader.Close(); $streamReader.Dispose()
$streamWriter.Close(); $streamWriter.Dispose()

Remove-Item $file -Force
Rename-Item "$file.tmp" -NewName $filename
4
ответ дан Ansgar Wiechers 28 August 2018 в 00:15
поделиться
if ( $my_infile.Length -gt 0 ) {
  [string] $full_name_infile = $my_dir + "\" + $my_infile
  $f1 = Get-Content($full_name_infile) -ErrorAction Stop
  if ( $f1.count -gt 0 ) { 
       [string] $fout1_dir = $my_dir 
       [string] $fout1_name = $fout1_dir + "\"  + $my_infile + ".temp"
       $fmode = [System.IO.FileMode]::Append
       $faccess = [System.IO.FileAccess]::Write
       $fshare = [System.IO.FileShare]::None
       $fencode = [System.Text.ASCIIEncoding]::ASCII
       $stream1 = New-Object System.IO.FileStream $fout1_name, $fmode, $faccess, $fshare
       $fout1 = new-object System.IO.StreamWriter $stream1, $fencode
  }

  for ( $x=0; $x -lt $f1.count; $x++ ) {
    $line = $f1.Get( $x )
    if ( $line.length -eq 0 ) {
       $nop=1
    } else {
         if (  $line.Substring( $line.Length-1 , 1 ) -eq "," ) { $line = $line + " "; }
         $fout1.WriteLine( $line );
    }

  }
  $fout1.Close()
  $fout1.Dispose()
  move-item  $fout1_name $full_name_infile -force 
}  
-1
ответ дан juan 28 August 2018 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: