Board logo

标题: 一句话还原从QQ中复制下来的代码 [打印本页]

作者: namejm     时间: 2007-3-10 09:44    标题: 一句话还原从QQ中复制下来的代码

  经常在群里讨论批处理,有些代码是直接发出来的,复制下来保存到文件中去,发现所有行的内容都挤在同一行上,有回车的地方被讨厌的小黑块占据,有多少回车就有多少黑块,想测试代码,一般得手工断行,十分麻烦,难道我们就只能忍受这样的折磨吗?

  今天在群里,被别人问起如何用批处理来解决这个问题,在测试过程中,无意间发现了一条十分管用的语句,发出来和大家共享:
@echo off
more test.txt>test.cmd
  使用方法:把这个代码保存为非test.cmd的批处理文件,把从QQ上复制下来的代码保存在test.txt文件中,运行以上代码,然后,打开test.cmd查看,发现了什么?呵呵,代码是不是被还原了?

  推而广之,只要是从QQ上复制下来的内容,都可以用这个代码来还原。

  别问我是什么原理,因为,我也不知道^_^,但是,有篇文章值得参考,请看:[资料]如何提取不同行上的内容
作者: slore     时间: 2007-3-10 09:48
用ue打开就可以了嘛。或者保存成rtf文件里复制下……再用txt看就没了。
作者: zh159     时间: 2007-3-10 09:56
用写字板打开txt文件直接保存一次就OK了
作者: jmz573515     时间: 2007-3-10 10:42
不错的东东,顶上去!
解决不少实际问题...
作者: electronixtar     时间: 2007-3-10 10:59
因为Windows 的回车是  0x0D0A 而QQ里只用了 0x0D 。more会自动辨认编码和回车。
作者: jmz573515     时间: 2007-3-10 11:00
想问一下electronixtar,在VBS里怎么表示QQ里的 0x0D ?
作者: electronixtar     时间: 2007-3-10 11:04
chr(13)
作者: baomaboy     时间: 2007-3-10 11:04
通常回车和换行是连在一起用的。
如果能看到黑块说明只有回车符而无换行符,
其实只要将‘回车符’替换为‘回车+换行’就可以了。
将下面的代码保存为vbs文件,将文件拖到这个vbs文件上生成的新文件就没黑块了
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Args = WScript.Arguments
Set ReadFile = FSO.OpenTextFile(Args(0), 1)
Str=ReadFile.ReadAll
ReadFile.Close
Str=Replace(Str,chr(13),chr(13)&chr(10))
Set NewFile = FSO.CreateTextFile(FSO.BuildPath(FSO.GetParentFolderName(Args(0)),"newfile.txt"), True)
NewFile.Write Str
NewFile.Close
Set FSO = Nothing
代码中的newfile.txt是你要生成的新文件名!
作者: baomaboy     时间: 2007-3-10 11:09
呵呵 我这里网速太慢 刷了好久 electronixtar兄已有说明了,学习了^_^

[ Last edited by baomaboy on 2007-3-10 at 11:11 AM ]
作者: jmz573515     时间: 2007-3-10 11:09
replace("内容",chr(13),vbcrlf)为什么不能替换呢?
作者: jmz573515     时间: 2007-3-10 11:14
8楼的我试了,还是不行....
作者: csx163     时间: 2007-3-10 12:17
UNIX系统回车编码和WINDOWS不太一样
作者: csx163     时间: 2007-3-10 12:20
那么请问下 我有一个文件夹的文本文件,该如何批量转换为WINDOWS格式呢?
作者: anqing     时间: 2007-3-10 22:22
不错啊
作者: yahooboby     时间: 2007-3-11 00:05
用替换也行..换回回车OK
作者: vkill     时间: 2007-3-11 01:19
我都是type |more 的