国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

vbs實現unicode和ascii編碼轉換

2020-07-26 11:45:43
字體:
來源:轉載
供稿:網友

一、Copy a Unicode File to an ANSI File

WiToAnsi.vbs文件:

復制代碼 代碼如下:

' Utility to rewrite a Unicode text file as an ANSI text file
' For use with Windows Scripting Host, CScript.exe or WScript.exe
' Copyright (c) 1999, Microsoft Corporation
'
Option Explicit

' FileSystemObject.CreateTextFile and FileSystemObject.OpenTextFile
Const OpenAsASCII   = 0
Const OpenAsUnicode = -1

' FileSystemObject.CreateTextFile
Const OverwriteIfExist = -1
Const FailIfExist      = 0

' FileSystemObject.OpenTextFile
Const OpenAsDefault    = -2
Const CreateIfNotExist = -1
Const FailIfNotExist   = 0
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8

Dim argCount:argCount = Wscript.Arguments.Count
If argCount > 0 Then If InStr(1, Wscript.Arguments(0), "?", vbTextCompare) > 0 Then argCount = 0
If (argCount = 0) Then
    Wscript.Echo "Utility to copy Unicode text file to an ANSI text file." &_
        vbNewLine & "The 1st argument is the Unicode text file to read" &_
        vbNewLine & "The 2nd argument is the ANSI text file to write" &_
        vbNewLine & "If the 2nd argument is omitted, the Unicode file will be replaced"
    Wscript.Quit 1
End If

Dim inFile, outFile, inStream, outStream, inLine, FileSys, WshShell
If argCount > 1 Then
    outFile = Wscript.Arguments(1)
    inFile  = Wscript.Arguments(0)
Else
    outFile = Wscript.Arguments(0)
    inFile  = outFile & ".tmp"
    Set WshShell = Wscript.CreateObject("Wscript.Shell")
    WshShell.Run "cmd.exe /c copy " & outFile & " " & inFile, 0, True
End If

Set FileSys = CreateObject("Scripting.FileSystemObject")
Set inStream  = FileSys.OpenTextFile(inFile, ForReading, FailIfNotExist, OpenAsDefault)
Set outStream = FileSys.CreateTextFile(outFile, OverwriteIfExist, OpenAsASCII)
Do
    inLine = inStream.ReadLine
    outStream.WriteLine inLine
Loop Until inStream.AtEndOfStream
inStream.Close
outStream.Close
If argCount = 1 Then WshShell.Run "cmd.exe /c del " & inFile, 0

批處理中調用:

復制代碼 代碼如下:

cscript WiToAnsi.vbs [path to Unicode file][path to ANSI file]

二、Copy a ANSI File to an Unicode File

只需對OpenTextFile和CreateTextFile的打開方式做調整即可。

三、參考

http://msdn.microsoft.com/en-us/library/aa368046%28VS.85%29.aspx

四、OpenTextFile和CreateTextFile的使用

CreateTextFile 方法

創建指定文件并返回 TextStream 對象,該對象可用于讀或寫創建的文件。

復制代碼 代碼如下:

object.CreateTextFile(filename[, overwrite[, unicode]])

參數

object

必選項。應為 FileSystemObject 或 Folder 對象的名稱。

filename

必選項。字符串表達式,指明要創建的文件。

overwrite

可選項。Boolean 值指明是否可以覆蓋現有文件。如果可覆蓋文件,該值為 True;如果不能覆蓋文件,則該值為 False 。如果省略該值,則不能覆蓋現有文件。

unicode

可選項。Boolean 值指明是否以 Unicode 或 ASCII 文件格式創建文件。如果以 Unicode 文件格式創建文件,則該值為 True;如果以 ASCII 文件格式創建文件,則該值為 False。如果省略此部分,則假定創建 ASCII 文件。

OpenTextFile 方法

打開指定的文件并返回一個 TextStream 對象,可以讀取、寫入此對象或將其追加到文件。

復制代碼 代碼如下:

object.OpenTextFile(filename[, iomode[, create[, format]]])

參數

object

必選項。應為 FileSystemObject 對象的名稱。

filename

必選項。字符串表達式,指明要打開的文件名稱。

iomode

可選項。輸入/輸出模式,是下列三個常數之一:ForReading,ForWriting,或 ForAppending。

create

可選項。Boolean 值,指出當指定的 filename 不存在時是否能夠創建新文件。允許創建新文件時為 True,否則為 False。默認值為 False。

format

可選項。三個 Tristate 值之一,指出以何種格式打開文件。若忽略此參數,則文件以 ASCII 格式打開。

設置

iomode 參數可為下列設置之一:

描述
ForReading 1 以只讀模式打開文件。不能對此文件進行寫操作。
ForWriting 2 以只寫方式打開文件。不能對此文件進行讀操作。
ForAppending 8 打開文件并在文件末尾進行寫操作。

format 參數可為下列設置之一:

常數 描述
TristateUseDefault -2 以系統默認格式打開文件。
TristateTrue -1 以 Unicode 格式打開文件。
TristateFalse  0 以 ASCII 格式打開文件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹰潭市| 体育| 宣恩县| 常州市| 尚义县| 峨边| 南昌县| 兴海县| 分宜县| 天台县| 玉林市| 金堂县| 富顺县| 吉木萨尔县| 新营市| 湖北省| 永寿县| 宣威市| 济阳县| 兴城市| 井陉县| 剑川县| 兴仁县| 潮安县| 沧州市| 宜阳县| 裕民县| 嘉善县| 金堂县| 普安县| 无极县| 井陉县| 察隅县| 阿巴嘎旗| 泌阳县| 穆棱市| 陇西县| 南召县| 曲沃县| 安康市| 鄂伦春自治旗|