Ответ 1
Вы используете неправильный escape-символ для вкладки. Вместо этого попробуйте:
$f = Get-Content "Users.txt"
foreach ($line in $f) {
$fields = $line.Split("`t")
$fields.Count | Out-Host
}
Я обрабатываю текстовый файл с разделителями-разделителями (ANSI) в powershell 1.0 и по какой-то причине я не могу разделить текст в файле на несколько полей с помощью функции split. Код ниже всегда возвращает 1, хотя в каждой строке файла есть 5 значений, разделенных вкладкой.
$f = get-content ‘users.txt’
foreach ($line in $f)
{
$fields = $line.split('\t')
$fields.count | Out-Host
}
Я тестировал раскол с другими разделителями, такими как труба, запятая, и это работало без проблем.
Вы используете неправильный escape-символ для вкладки. Вместо этого попробуйте:
$f = Get-Content "Users.txt"
foreach ($line in $f) {
$fields = $line.Split("`t")
$fields.Count | Out-Host
}
(Get-Content -LiteralPath C:\temp\Users.txt) | ForEach-Object {$_.Split("'t")} | Set-Content -Path C:\temp\Results.txt