powershell - 从txt文件中删除BOM并检查删除是否有效
问题描述
我创建了一个具有简单目标的基本 Powershell 脚本:
- 将文件夹中的所有文件复制到另一个文件夹
- 从这些文件中删除 BOM
- 重命名文件
为此,我创建了一个简单的脚本:
# input & ouput folders
$inputFolder = 'C:\Users\myName\myInputFolder'
$outputFolder = 'C:\Users\myName\myOutputFolder'
# move files
Copy-item -Force -Recurse -Verbose $inputFolder\* -Destination $outputFolder
# remove bom to files
Get-ChildItem $outputFolder\* -recurse -Include *.json,*.html,*.xml,*.js,*.txt,*.css | ForEach-Object {
$content = $_ | Get-Content
Set-Content -PassThru $_.Fullname $content -Encoding UTF8 -Force
}
# rename files
Get-ChildItem -Path $outputFolder\*.txt | Rename-Item -NewName { $_.Name -replace '.txt','.done.txt' }
我的问题是如何检查我是否从这些文件中正确删除了 BOM。
解决方案
一种解决方案如下:
foreach ($i in ls -name $inputFolder\*.txt)
{
$file_content = Get-Content "$inputFolder\$i";
[System.IO.File]::WriteAllLines("$outputFolder\$i", $file_content);
}
推荐阅读
- python - 如何获取所有链接表单页面?
- python - 删除同一目录中多个 CSV 文件中的前两列和最后一列
- apache-spark - CDAP spark phoenix 应用程序连接问题
- objective-c - 移除对象后,观察者保留在调度表中
- debugging - Intel x86 上的除法溢出
- unity3d - LoadRawTextureData 与 LoadImage
- reactjs - 我收到 getInputData 未定义的错误
- settings - androidx 设置库和平板电脑横向模式 2 窗格布局
- nuxt.js - NUXTJS 如何设置从页面到布局的道具?
- ios - 如何在导航栏、标签栏、视图控制器之间传递数据