【发布时间】:2016-02-04 04:50:35
【问题描述】:
正在编写代码,该代码将替换文件夹中文本文件中的一组字符。有没有一种方法可以对文件夹中的所有文件执行此操作。我正在使用 Windows 7 操作系统和 Powershell 版本 3。附加我拥有的代码。问题是当我运行代码(New_NOV_1995.txt)时它会创建一个新文件,但它不会更改代码中提到的新文件中的任何字符。帮助非常感谢。
$lookupTable = @{
'¿' = '|'
'Ù' = '|'
'À' = '|'
'Ú' = '|'
'³' = '|'
'Ä' = '-'
}
$original_file = 'C:\FilePath\NOV_1995.txt'
$destination_file = 'C:\FilePath\NOV_1995_NEW.txt'
Get-Content -Path $original_file | ForEach-Object {
$line = $_
$lookupTable.GetEnumerator() | ForEach-Object {
if ($line -match $_.Key)
{
$line = $line -replace $_.Key, $_.Value
}
}
$line
} | Set-Content -Path $destination_file
【问题讨论】:
-
在第一行使用
Get-ChildItem而不是Get-Content。
标签: powershell