【发布时间】:2019-05-30 19:06:23
【问题描述】:
我创建了一个简短的 powershell 脚本来将 csv 文件从 Unicode 转换为 UTF-8 编码。我的脚本以原始文件名以 UTF8 开头的新文件输出。我遇到了两个问题:
我正在尝试仅在 csv 文件上运行 powershell 脚本。目前该脚本在目录中的每个文件上运行,包括 powershell 脚本(例如,如果 powershell 脚本被称为 pshell_script,它会输出一个名为 UTF8pshell_script 的新文件)。我尝试仅在 csv 文件上运行脚本的其他方法最终使脚本不执行任何操作。
我正在尝试在子目录上运行脚本。第一个问题是从子目录中的 csv 文件创建的输出文件中没有任何内容。如果脚本与 csv 文件在同一目录中运行,则不会出现此问题。这并不重要,但我也不确定如何从子目录中创建的输出文件输出到相同的子目录中(当前它们输出到 powershell 脚本所在的主目录中)。 作为
Get-Content -Encoding Unicode $_ | Out-File -Encoding UTF8
Get-ChildItem -Recurse | ForEach-Object {Get-Content -Encoding Unicode $_ | Out-File -Encoding UTF8 "UTF8$_"}
所需的输出是仅在 csv 文件上运行的 powershell 脚本,并将文件输出到创建它们的文件所在的相同子目录。
【问题讨论】:
标签: powershell