点击这里给我发消息 点击这里给我发消息

Unix与Windows文本文件格式转换

添加时间:2013-12-6
    相关阅读: Windows

Unix与Windows文本文件格式的主要差别在于换行符,Unix文本文件的换行符为0x0A,而Windows文本文件的换行符为0x0D 0x0A。知道这一点,便很容易实现两者文本文件格式的转换。
0x0A对应VBScript中的常量vbLf,0x0D 0x0A对应VBScript中的常量vbCrLf。

基本思路是:
将文本文件读入到一个字符串中,然后用字符串替换函数Replace进行换行符的替换,然后将替换后的字符串写入另一文本文件。

Dos文件到Unix文件的替换函数如下:
Replace(strInfo, vbCrLf, vbLf)
Unix文件到Dos文件的替换函数如下:
Replace(strInfo, vbLf, vbCrLf)


Unix与Windows文本文件格式转换

'------------------------------------------------------------
' ConvFile.vbs
' 实现Dos和Unix文本文件的相互转换
' benbenknight
Function ConvUnixToDos(strInfo)
' 将字符串从Unix换行格式转为Dos换行格式
' 即将vbCr替换为vbCrLf
    ' 先将vbCrLf换成vbCr
    ConvUnixToDos = Replace(strInfo, vbCrLf, vbLf)
    ' 先将vbCr换成vbCrLf
    ConvUnixToDos = Replace(ConvUnixToDos, vbLf, vbCrLf)
  
End Function
Function ConvDosToUnix(strInfo)
' 将字符串从Dos换行格式转为Unix换行格式
' 即将vbCrLf替换为vbCr
    ConvDosToUnix = Replace(strInfo, vbCrLf, vbLf)
  
End Function
Function ReadFileToString(strFilePath)
' 将文本文件读入到字符串中
' strFilePath 文本文件全路径
    ' 文件读写标志
    Const ForReading = 1
  
    ' 打开文件
    Set ofs = CreateObject("Scripting.FileSystemObject")
    Set ofile = ofs.OpenTextFile(strFilePath, ForReading, True)
  
    ' 读出文件
    ReadFileToString = ofile.ReadAll
    ' 关闭文件
    ofile.Close
  
End Function
Sub WriteStringToFile(strFilePath, strInfo)
' 将字符串写入文本文件
' strFilePath 文本文件全路径
' strInfo 字符串
    ' 文件读写标志
    Const ForWriting = 2
    Const isCreateNew = True
    Set ofs = CreateObject("Scripting.FileSystemObject")
  
    ' 打开文件
    Set ofile = ofs.OpenTextFile(strFilePath, ForWriting, isCreateNew)
  
    ' 写入文件
    ofile.Write strInfo
  
    '关闭文件
    ofile.Close
  
End Sub
 
    strSrcFile = "d:\merge_dos.txt"
    strDestFile = "d:\merge_unix.txt"
    strDestFile2 = "d:\merge_dos2.txt"
  
    ' 将Dos文件转为Unix文件
    strDos = ReadFileToString(strSrcFile)
    strUnix = ConvDosToUnix(strDos)
    WriteStringToFile strDestFile, strUnix
  
    ' 将Unix文件转为Dos文件
    strUnix = ReadFileToString(strDestFile)
    strDos = ConvUnixToDos(strUnix)
    WriteStringToFile strDestFile2, strDos

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册