Подавить спецификации от UTF-8 Powershell - PullRequest
0 голосов
/ 09 октября 2018

Я систематически переименовываю кучу файлов через PowerShell 2 и хочу вывести старые и новые сопоставления файлов в выходной файл с разделителями табуляцией в UTF-8.Проблема заключается в том, что Export-Csv (и другие методы вывода) принудительно устанавливает спецификацию в начало этого tsv-файла и прерывает вывод, предотвращая правильное разделение элементов табуляцией и просто помещая все в первый столбец.Я полагаю, если бы я мог подавить спецификацию, эта проблема была бы исправлена, но любые другие рекомендации приветствуются.Код ниже.

Set-Location -Path ""
$destLoc = ""
$countRef = [ref] 0
Get-ChildItem -Filter *.pdf -Recurse | ForEach-Object {
  $newFullName = '{0}\{1}.pdf' -f $destLoc, ++$countRef.Value
  Copy-Item -LiteralPath $_.FullName -Destination $newFullName
  New-Object PSCustomObject -Property @{
    Old = $_.FullName
    New = $newFullName
  }
} | Export-Csv -Delimiter "`t" -Encoding UTF8 NameMappings.tsv

1 Ответ

0 голосов
/ 11 октября 2018

Просто ради потомков, любой, кто сталкивается с той же проблемой, что и я, не позволяет Excel автоматически обрабатывать входящий импорт текста tsvs в столбцы.Проблема заключалась в том, что спецификация работала с этим автоматическим форматированием, но если вы вручную откроете файл tsv и зададите разделитель, вы получите желаемое поведение независимо от кодировки.

...