Я систематически переименовываю кучу файлов через 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