批量将Macintosh格式CSV转换为MS-DOS格式CSV方法问询
批量转换Macintosh格式CSV为MS-DOS格式
批量处理脚本
以下PowerShell脚本可遍历指定目录下所有CSV文件,将Macintosh格式(LF换行)转换为MS-DOS/Windows格式(CRLF换行),并生成对应TXT文件(与原CSV同名,仅替换扩展名):
# 替换为你的CSV文件所在目录路径 $targetDir = "C:\Your\CSV\Directory" # 遍历目录下所有.csv文件并批量转换 Get-ChildItem -Path $targetDir -Filter *.csv | ForEach-Object { $inputFile = $_.FullName # 生成输出文件路径(将.csv替换为.txt) $outputFile = [System.IO.Path]::ChangeExtension($inputFile, ".txt") # 读取文件内容,替换LF换行符为CRLF,写入新文件 $content = [System.IO.File]::ReadAllText($inputFile) $convertedContent = $content.Replace("`n", "`r`n") [System.IO.File]::WriteAllText($outputFile, $convertedContent) # 输出转换进度(可选) Write-Host "转换完成: $($_.Name) -> $(Split-Path $outputFile -Leaf)" }
关键说明
- 目录指定:把
$targetDir的值改成你实际存放CSV文件的文件夹路径 - 扩展名处理:用
[System.IO.Path]::ChangeExtension替换扩展名比手动截取字符串更可靠,避免文件名带多个点的异常情况 - 换行符替换:Macintosh格式用
LF(n)作为换行符,MS-DOS/Windows标准格式为CRLF(rn)`,替换后即可满足PLC的格式要求 - 直接修改原文件(可选):如果不需要保留原CSV文件,可将
$outputFile改为$inputFile,但建议先备份原文件再执行操作
内容的提问来源于stack exchange,提问作者noksnero
相关产品推荐
相关产品推荐

