用VBScript写合并文本文件的脚本

合并文本的脚本可以这么写:


代码如下:

Sub AppendTextFile(filename)
Set objTextFile = objFSO.OpenTextFile(filename, ForReading, true, -2)
Do Until objTextFile.AtEndOfStream
objOutFile.WriteLine(objTextFile.Readline)
Loop
End Sub

可是如果所读取的文件是UTF-8格式的,那么文件开头的三个字节的标识符会被脚本认为是数据,这样这个标识符就变成了合并后文件里的乱码。
FSO是提供了打开Unicode文件的参数的,可惜这里并不生效。















TristateUseDefault

-2

Opens the file using the system default.

TristateTrue

-1

Opens the file as Unicode.

TristateFalse

0

Opens the file as ASCII.

请教了Google大师,发现有人说用OpenAsTextStream是可以的,可惜在我的环境里还是不成功。

另外一个想法是读入文件的时候,自行判断文件开始三个字节是否标识符,这也被判断是不可行的方法,因为FSO提供的Read是按字符进行读取,这样,在有中文的环境里,我们不可能正好读出这三个字节。

类似的问题在IIS6里面被微软确认,好像也有一个对应的补丁出来,但是对于批处理文件的情况,似乎还是没有修改过来。
最后,MSDN帮了很大的忙,但是它的地址很不好找,记录一下:
http://msdn.microsoft.com/en-us/library/ms950396.aspx

(0)

相关推荐

  • 用vbs分割与合并文本文件的代码

    然而想到其他地方再次下载时发现一次性导入几万个地址非常缓慢,所以有必要把它分割了:(在这个txt文件中,一个地址占一行) url_split.vbs文件内容: 复制代码 代码如下: Set fs =CreateObject("scripting.filesystemobject") Set gs =CreateObject("scripting.filesystemobject") Set f=fs.opentextfile("url.txt",

  • 用vbscript合并多个文本文件的代码

    问: 嗨,Scripting Guy!在命令提示符中,可以执行命令"copy a.txt+b.txt ab.txt"来提取 a.txt 和 b.txt 的内容,然后将它们合并到名为 ab.txt 的新文件中.可以使用脚本来实现相同的操作吗? -- DL 答: 嗨,DL.在昨天的专栏文章中,我们探讨了有关文本文件的问题:更具体地讲,我们讨论如何使用脚本来修改 .INI 文件.我们提到,这种解决方法尽管不是很巧妙,但可以达到目的.就今天的问题来说,同样是这种情况.我们可以使用脚本来合并文本

  • 用VBScript写合并文本文件的脚本

    合并文本的脚本可以这么写: 复制代码 代码如下: Sub AppendTextFile(filename) Set objTextFile = objFSO.OpenTextFile(filename, ForReading, true, -2) Do Until objTextFile.AtEndOfStream objOutFile.WriteLine(objTextFile.Readline) Loop End Sub 可是如果所读取的文件是UTF-8格式的,那么文件开头的三个字节的标识符

  • PHP合并discuz用户脚本的方法

    本文实例讲述了PHP合并discuz用户脚本的方法.分享给大家供大家参考.具体如下: 前几天遇到一个需要将两个discuz合并的项目,一个用户级别在12万左右,一个是1万8.不用说肯定是扔了1万8的,留下12万的.开始觉得不好处理,数据表都是关联,新注册一个用户,有8个表增加记录了,还没看有没有其他表有修改记录的可能性.当时觉得一时半会儿也理不清那些表,就搜索了一下,搜到了discuz tool.但是只能导10万以内的,于是就只能自己尝试了,后来考虑,我直接在关键表插入一条记录如何,其他表在用户

  • 一篇教会你写90%的shell脚本(入门小结)

    shell脚本? 在说什么是shell脚本之前,先说说什么是shell. shell是外壳的意思,就是操作系统的外壳.我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls.cd.pwd等等.总结来说,Shell是一个命令解释器,它通过接受用户输入的Shell命令来启动.暂停.停止程序的运行或对计算机进行控制. shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效.安全.低成本地使用 Linux 内核,这就是 Shell 的本质.

  • 教你编写Windows的VBScript与Mac的AppleSCript脚本解放双手

    目录 一.Windows 篇 —— VBScript 1.效果图 2.VBS 简介 3.代码实现 4.代码详解 5.其他语法 6.附:VBS 特殊字符表格 二.Mac 篇 —— AppleScript 1.效果图 2.代码实现 3.代码详解 一.Windows 篇 —— VBScript 最近发现 windows 上有一个好玩的东西,叫做 VBScript,可以用来自动执行一些操作. 1.效果图 先来看下最终效果吧! 以上就是一个简单的 VBS 脚本,运行时自动打开 Chrome 浏览器,然后自

  • 文本文件分割脚本(VBS)

    而Windows下没有一个现存的比较好用的分割工具,所以我用VBS做了一个文本文件的分割工具,和各位网友共享.脚本代码如下: 复制代码 代码如下: Option Explicit '这个脚本只用来分割文本文件,脚本需要3个参数 '参数列表 '文件名 参数1 参数2 '梦想工作室 www.mx111.com '示例 参数1 参数2 参数意义 ' S 5 等分为5个文件 ' E 1024 按照1024的大小分割文件 ' F 1024 取最前面的1024字节存为一个文件 ' L 1024 取最后面的1

  • 在CSS里写复杂的JavaScript脚本

    因为"{"和"}"和CSS里的 "{"与"}"冲突. 好像也不能用引号,具体没有测试. 这样一来,在CSS里写脚本就不具备灵活了,但是如果想写一个复杂的脚本到CSS里,该如何处理呢?是一个问题,经测试,可以先定义一个函数,然后在expression里调用就行了,不过由于在CSS里用了expression,所以,只能在IE里运行. 一下是示例,点击代码可运行. Untitled Document ex=function(){ i

  • Python文件操作之合并文本文件内容示例代码

    前言 相信大家初入某个项目,一般都要看代码.有时候,想把代码文件打印下来看,不过一般代码文件数量都在两位数或更多,逐一打开.打印,确实太耗费精力了,此外,也会出现某个代码文件打印到纸上只占了一两行的情况,很浪费纸.如果可以合并到一个文本文件里面上面这些问题就解决. 目前一个用的比较多的功能:将多个小文件的内容合并在一个统一的文件中,对原始文件重命名标记其已被处理过. 之前使用其他脚本写的,尝试用python写了一下,顺便熟悉一下python的文件处理命令. 原始文件 经过处理之后 最后还有一个蛋

  • Vbscript写注册表的方法

    分类:程序 早些年用过DOS系统的用户都知道,MS-DOS操作系统允许普通用户编写批处理文件来实现简单的编程.它有效地简化了我们的工作,带给我们许多方便.当时甚至出现了一些专门编写批处理文件的程序员呢. 事实上,操作系统除了提供易于操作的使用界面外,还应当有一套内建的Script(脚本)语言才算完整.从某种角度来说,批处理文件可以说就是MS-DOS下的脚本语言.到了Windows时代,虽然Windows系统仍然保留了批处理,但是批处理在Windows中就显得功能过于简单,无法满足用户的需要了--

  • shell结合expect写的批量scp脚本工具

    在部署一个任务时,其中有一项必须的过程就是将一些文件,如安装包发送到大量的服务器上去.虽然已有宇哥的脚本可用:通过paramiko模块提供的ssh和scp功能编写的python脚本.但我到现在还在对python的恐惧之中(虽然已经在空闲时间努力去学习了),所以使用了shell和expect脚本结合的方式,写了这个批量scp的脚本工具. expect用于自动化地执行linux环境下的命令行交互任务,例如scp.ssh之类需要用户手动输入密码然后确认的任务.有了这个工具,定义在scp过程中可能遇到的

  • 用vbscript实现从文本文件中删除所有重复行的代码

    问: 您好,脚本专家!如何从文本文件中删除所有重复行? -- SW 答: 您好,SW.您知道,成为一名脚本专家便意味着开始永无止境地寻找给定问题的最终解决方案.(或者至少在我们的经理问为什么我们似乎从未真正完成什么时,我们是这么告诉他的:"老板,永无止境的寻找过程需要时间!")这就是为什么我们很高兴看到您的问题的原因.不久前 我们回答了一个关于从文本文件中删除重复名字的类似问题.我们想到的解决方案十分简单而且效果不错:只是我们不确定那是最佳解决方案.现在,很感谢您的问题,我们可以再次尝

随机推荐