Вот мой код vb. Это именно то, что я хочу сделать с powershell.Как заменить с помощью powershell
Public Sub Main()
Dim file As New System.IO.StreamReader(Dts.Variables("User::str_SourcePath").Value.ToString())
Dim data As String
data = file.ReadToEnd()
data = data.Replace("""" & vbCrLf, """" & vbLf)
data = data.Replace(vbCrLf, " ")
data = data.Replace(vbCr, vbLf)
data = data.Replace(Chr(32) & vbCrLf, vbLf)
data = data.Replace(Chr(32) & vbLf, vbLf)
data = data.Replace("'", "")
data = data.Replace(Chr(0), "")
file.Close()
Dim writer As New System.IO.StreamWriter(Dts.Variables("User::str_SourcePath").Value.ToString(), False)
writer.Write(data)
writer.Flush()
writer.Close()
Dts.TaskResult = ScriptResults.Success
End Sub
Мои Powershell Сценарий:
Get-ChildItem "C:\Users\abc\Desktop\Files" | ForEach-Object {
$Content = Get-Content $_.fullname
$Content = ForEach-Object { $Content -replace "\r\n","\n" }
$Content = ForEach-Object { $Content -replace "'","" }
$Content = ForEach-Object { $Content -replace "chr(0)","" }
Set-Content $_.fullname $Content -Force
}
Я пытаюсь заменить несколько символов ASCII управления код (0 до 10) и от (12 до 15) и (17), а также из (21 до 30).
Возможный дубликат [Powershell: Найти/заменить шаблон управляющих символов ASCII] (http://stackoverflow.com/questions/15343442/powershell-find-replace-pattern-of-ascii-control-characters) – Neolisk