2016-07-15 4 views
0

Я написал код ниже для преобразования csv в нижний регистр.Как преобразовать csv в нижний регистр с помощью сценария Powershell

(Get-Content "$file" -Raw).ToLower() | Out-File "$outfile" 

Но Получение ошибка как:

Get-Content : A parameter cannot be found that matches parameter name 'Raw'. 

Here is the my error screen shot.

+1

Какая версия PowerShell/Windows вы используете? Параметр '-Raw' введен в PowerShell 3.0 –

+0

благодарит Mathias. Для вашего ответа я буду использовать PowerShell 2.0. . Ваш ответ - это полная помощь, и я решил свою ошибку благодаря приятелю. [System.IO.File] :: ReadAllText ($ file) .ToLower() | Out-File «$ outfile» –

+0

Для тех, кто ищет первый верхний и нижний регистр ниже '$ file =" C: \ TEST.CSV " $ outfile =" c: \ out.csv " Get-Content $ file | ForEach-Object {$ _. substring (0,1) .toupper() + $ _. substring (1) .tolower()} | Out-File $ outfile' – DisplayName

ответ

1

-Raw был добавлен в PowerShell 3.0. Если вы используете 2.0 или ниже, его не существует. Вместо этого вы можете сделать:

[System.IO.File]::ReadAllText($file) 
+0

Спасибо за ваш быстрый ответ. Его помощь полна для я и я решили мою ошибку. Я пишу простой [System.IO.File] :: ReadAllText ($ file) .ToLower() | Out-File «$ outfile» Его проблема с PowerShell verion ... благодаря Briantist. –

3

В качестве альтернативы briantist's suggestion, трубы выход из Get-Content в ForEach-Object и вызвать ToLower() по каждой отдельной линии:

Get-Content $file |ForEach-Object { $_.ToLower() } |Out-File $outfile 
Смежные вопросы