中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 20:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一句话还原从QQ中复制下来的代码
楼 主 一句话还原从QQ中复制下来的代码 发表于 2007-03-10 09:44 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  经常在群里讨论批处理,有些代码是直接发出来的,复制下来保存到文件中去,发现所有行的内容都挤在同一行上,有回车的地方被讨厌的小黑块占据,有多少回车就有多少黑块,想测试代码,一般得手工断行,十分麻烦,难道我们就只能忍受这样的折磨吗?

  今天在群里,被别人问起如何用批处理来解决这个问题,在测试过程中,无意间发现了一条十分管用的语句,发出来和大家共享:

@echo off
more test.txt>test.cmd

  使用方法:把这个代码保存为非test.cmd的批处理文件,把从QQ上复制下来的代码保存在test.txt文件中,运行以上代码,然后,打开test.cmd查看,发现了什么?呵呵,代码是不是被还原了?

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

  别问我是什么原理,因为,我也不知道^_^,但是,有篇文章值得参考,请看:如何提取不同行上的内容
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
jmz573515 +8 2007-03-10 10:42
huzixuan +2 2007-03-10 20:19
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2 发表于 2007-03-10 09:48 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
UID 79003
性别 男
状态 离线
用ue打开就可以了嘛。或者保存成rtf文件里复制下……再用txt看就没了。
3 发表于 2007-03-10 09:56 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
用写字板打开txt文件直接保存一次就OK了
4 发表于 2007-03-10 10:42 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
UID 73417
性别 男
状态 离线
不错的东东,顶上去!
解决不少实际问题...
5 发表于 2007-03-10 10:59 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
因为Windows 的回车是 0x0D0A 而QQ里只用了 0x0D 。more会自动辨认编码和回车。

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
6 发表于 2007-03-10 11:00 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
UID 73417
性别 男
状态 离线
想问一下electronixtar,在VBS里怎么表示QQ里的 0x0D ?
7 发表于 2007-03-10 11:04 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
chr(13)

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
8 发表于 2007-03-10 11:04 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
UID 48180
性别 男
状态 离线
通常回车和换行是连在一起用的。
如果能看到黑块说明只有回车符而无换行符,
其实只要将‘回车符’替换为‘回车+换行’就可以了。
将下面的代码保存为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是你要生成的新文件名!
9 发表于 2007-03-10 11:09 ·  中国 河北 保定 联通
银牌会员
★★★
积分 1,513
发帖 554
注册 2005-12-30 00:50
UID 48180
性别 男
状态 离线
呵呵 我这里网速太慢 刷了好久 electronixtar兄已有说明了,学习了^_^

[ Last edited by baomaboy on 2007-3-10 at 11:11 AM ]
10 发表于 2007-03-10 11:09 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
UID 73417
性别 男
状态 离线
replace("内容",chr(13),vbcrlf)为什么不能替换呢?
11 发表于 2007-03-10 11:14 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
UID 73417
性别 男
状态 离线
8楼的我试了,还是不行....
12 发表于 2007-03-10 12:17 ·  中国 福建 厦门 电信
初级用户
积分 97
发帖 45
注册 2007-01-31 06:02
UID 78190
性别 男
状态 离线
UNIX系统回车编码和WINDOWS不太一样
13 发表于 2007-03-10 12:20 ·  中国 福建 厦门 电信
初级用户
积分 97
发帖 45
注册 2007-01-31 06:02
UID 78190
性别 男
状态 离线
那么请问下 我有一个文件夹的文本文件,该如何批量转换为WINDOWS格式呢?
14 发表于 2007-03-10 22:22 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
UID 60532
状态 离线
不错啊
15 发表于 2007-03-11 00:05 ·  中国 广西 柳州 电信
初级用户
积分 111
发帖 3
注册 2005-04-14 00:00
UID 38192
性别 男
状态 离线
用替换也行..换回回车OK
论坛跳转: