Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript 将编码转换为ANSI_Vbscript - Fatal编程技术网

Vbscript 将编码转换为ANSI

Vbscript 将编码转换为ANSI,vbscript,Vbscript,我一直在尝试将编码为UTF8的文本文件转换为编码为ANSI的文本文件。 我使用的是我在这个平台中找到的一个脚本。 以下是脚本: ' Usage: ' EncodeFile strInFile, "UTF-8", strOutFile, "Windows-1254", 2 Sub EncodeFile(strInputFile, strInputCharset, strOutputFile, strOutputCharset, intOverwriteMode) '5th parameter

我一直在尝试将编码为UTF8的文本文件转换为编码为ANSI的文本文件。 我使用的是我在这个平台中找到的一个脚本。 以下是脚本:

' Usage: 
' EncodeFile strInFile, "UTF-8", strOutFile, "Windows-1254", 2
Sub EncodeFile(strInputFile, strInputCharset, strOutputFile, strOutputCharset, intOverwriteMode)

'5th parameter may take the following values:
'Const adSaveCreateOverWrite = 2
'Const adSaveCreateNotExist = 1

Const adReadLine = -2
Const adTypeBinary = 1
Const adTypeText = 2
Const adWriteLine = 1

Set objInputStream = CreateObject("ADODB.Stream")
Set objOutputStream = CreateObject("ADODB.Stream")

With objInputStream
  .Open
  .Type = adTypeBinary
  .LoadFromFile strInputFile
  .Type = adTypeText
  .Charset = strInputCharset
  objOutputStream.Open
  objOutputStream.Charset = strOutputCharset
  Do While .EOS <> True
     strText = .ReadText(adReadLine)
     objOutputStream.WriteText strText, adWriteLine
  Loop
  .Close
End With
objOutputStream.SaveToFile strOutputFile, intOverwriteMode
objOutputStream.Close
End Sub
”用法:
'EncodeFile strInFile,“UTF-8”,strOutFile,“Windows-1254”,2
子编码文件(strInputFile、strInputCharset、strOutputFile、strOutputCharset、intOverwriteMode)
'第5个参数可采用以下值:
'常量adSaveCreateOverWrite=2
'常量adSaveCreateNotExist=1
常数adReadLine=-2
常量adTypeBinary=1
常量adTypeText=2
常数adWriteLine=1
设置objInputStream=CreateObject(“ADODB.Stream”)
设置objOutputStream=CreateObject(“ADODB.Stream”)
有一条小溪
打开
.Type=adTypeBinary
.LoadFromFile strInputFile
.Type=adTypeText
.Charset=strInputCharset
对象输出流。打开
objOutputStream.Charset=strOutputCharset
请稍等,真的吗
strText=.ReadText(adReadLine)
objOutputStream.WriteText strText,adWriteLine
环
.结束
以
objOutputStream.SaveToFile strOutputFile,intOverwriteMode
对象输出流。关闭
端接头
请注意,在运行调用此脚本的cmd时,我得到一个0 kb的新txt文件,编码更改为ANSI。 但是文本文件中的所有信息都不存在

如何在将数据保存在文本文件中的同时转换为编码

任何人都请帮忙

@Echo off

SET CHEMINDAT = C:\Desktop\convertry\Scripts\

echo %DATE% %TIME% Debut de traitement.
for %%a in (C:\Desktop\convertry\Scripts\*.txt) do (
    cscript //NoLogo C:\Desktop\convertry\Scripts\unix2dos_3.vbs <%CHEMINDAT%%%a >>%%a.txt
    del %%a
)
pause
exit /b 1
@Echo关闭
设置chemandata=C:\Desktop\convertry\Scripts\
回显%DATE%%TIME%首次登场记录。
对于(C:\Desktop\convertry\Scripts\*.txt)中的%%a,请执行以下操作(
cscript//NoLogo C:\Desktop\convertry\Scripts\unix2dos_3.vbs>%%a.txt
德尔%%a
)
暂停
退出/b 1

EncodeFile“infle”、“UTF-8”、“OutFile”、“Windows-1254”,2
适合我(我没有测试
strInputFile
=
strOutputFile
案例)。你能向我解释一下,你使用的确切代码是什么,你是如何启动的,我是使用批处理脚本启动的。对不起。你应该给出一个失败代码的例子。请使用该功能添加。您好,您可以看到我的批处理脚本已添加1。正如当前编写的那样,
EncodeFile
过程已声明但从未调用,
vbs
脚本本身不接受任何参数。2.删除变量设置中
=
(等号)周围的空格:使用
设置“chemandata=C:\Desktop\convertry\Scripts\”
。3.
EncodeFile
过程本身将数据写入输出文件,并且不产生任何输出,那么为什么
>%%a.txt