Powershell打开文件并替换特殊字符+ NULL

时间:2017-05-11 19:03:32

标签: powershell csv

我正在尝试打开一个csv文件,其中包含许多特殊字符,例如'& @ *'并用'_'替换它。我还想将所有'NULL'字符串替换为''。 完成后,将文件保存到同一位置。

我试过这个

$File = Import-Csv "C:\Users\a\Desktop\Al.csv"

foreach ($line in $File)
{
    $line.Replace('[[+*@?()\\.]','_')
    $line.Replace('NULL','')
}

编辑:感谢评论能够用

完成
(get-content "C:\Users\a\Desktop\Al.csv") -replace ('[[+*@?()\\]','_') -replace('NULL','') | Set-Content "C:\Users\a\Desktop\Al.csv"

1 个答案:

答案 0 :(得分:0)

您最好的选择是将文件读入,就好像它只是一个二进制数据块,然后替换您不想要的字符,然后将其保存回来。

对于您尝试做的事情而言,它是CSV甚至TXT这一事实没有任何区别。

Get-content例如会读取所有内容,而不是限制您使用CSV格式。