中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » 网络日志(Blog) » 【Billunique】个人网志-滴水汇海
« [1] [2] [3] [4] »
作者:
标题: 【Billunique】个人网志-滴水汇海 上一主题 | 下一主题
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『楼 主』:  【Billunique】个人网志-滴水汇海

受Redtek网志的熏陶和蛊惑~

心痒痒、恶狠狠也来开辟我的学习网志!

希望把自己的学习足迹记录下来,当回头看的时候,可以感受自己一点一滴的进步!

[ Last edited by Billunique on 2007-4-9 at 08:00 AM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-6 03:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 2 楼』:  

先把这篇链接过来,作为开篇~:)

http://www.cn-dos.net/forum/view ... light=%2BBillunique

[ Last edited by Billunique on 2007-4-6 at 03:28 AM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-6 03:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 3 楼』:  

★《Windows98/2000/XP/2003 DOS命令实用大全》-希望图书工作室

☆CON这个文件名指的是控制台(CONsole),所谓控制台就是用户与计算机交谈联系的终端,在PC上就是指屏幕与键盘。CON这个文件若作“输入”用指的就是“键盘”,若作“输出”用就是指“屏幕”。

 由于CON被当成文件看待(有点类似Unix啊呵),因此可以用Copy将CON所输入的数据与文件连接起来(适用于想向文件作简单内容添加的时候):
A:\>copy con 1.txt
line1
^Z
1 files(s) copied

A:\>copy 1.txt+con temp
1.txt
con
line2
^Z
1 file(s) copied

A:\>tpye temp
line1
line2
☆用Copy连接多个文件时,拷贝的目标文件只取各源文件中Ctrl+Z键之前的代码。(在Notepad中,这一代码是隐含的,文本末尾的光标在什么地方,Ctrl+Z标记就在什么地方)

 Copy+的机制:先用源文件队列中的第一个文件覆盖目标文件(没有则创建),然后依次将队列里其他成员的内容往这个目标文件里添加。于是乎,如果源列表里有含有与目标文件重名的文件,则这一文件的内容将不被拷入------因为之前它的内容已经被源列表里的第一个文件“挤”出去了,挤完之后再去读,伊人已非她也。(也就是通常说的Copy会忽略这一文件的原因)

[ Last edited by Billunique on 2007-4-7 at 11:41 PM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-6 04:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 4 楼』:  

利用环境变量可以在两个批处理程序间传递%变量所无法传递的数据。例如下面的Test.bat程序,它会先在当前工作目录下寻找所指定的文件,若找得到,就Type其目录数据;若找不到则调用Test2.bat,由Test2往Usr子目录去寻找并Type其内容。
C:\>type test.bat
@echo off
if not exist %1 goto find
type %1
goto end
:find
set file=usr\%1
call test2
:end
echo OK!

C:\>type test2.bat
@echo off
echo Type out now....
type %file%

C:\>type \usr\doc
This is a test file in C:\usr

----------------------
C:\>test doc
Type out now....
This is a test file in C:\usr
OK!
[ Last edited by Billunique on 2007-4-7 at 11:42 PM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-6 05:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 5 楼』:  

MS-DOS配置了ANSI驱动程序有什么好处呢?

  ANSI.SYS是一个以ANSI标准为规范的终端(Terminal)驱动程序。因为早期的终端控制码规则不一,在甲端使用的程序在乙端却无法使用(会使屏幕、键盘异常),这种状况在网络系统上尤为常见,因为一个网络上可能接数种厂商的终端,如果所有的终端都遵守同一标准的控制码,则程序就可以在各终端之间通用而没有差异了。

  这就是ANSI.SYS的由来,它是由美国国家标准协会提供的。当指定DOS把ANSI.SYS装入,和DOS形成一体后,MS-DOS就会遵守ANSI的控制码了。ANSI的控制码都是由一个以上的字符构成的,所以又称为控制序列。

  由于ANSI.SYS是终端控制程序,所以只要把ANSI控制码往DOS的标准输出,ANSI.SYS便可接收到该控制码,而根据控制码的指示来执行动作。那么要如何把ANSI控制序列送往输出呢?因为控制码会立即产生控制效果,所以无法在DOS的状态下直接键入控制码。

  通常是使用DOS的prompt命令来传送控制码的。因为prompt命令本身也有一些控制输出的能力,再配合ANSI.SYS的功能,就可以完成许多很有用的事情。

[ Last edited by Billunique on 2007-4-7 at 11:42 PM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-6 07:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 6 楼』:  

Comspec和Shell有何不同呢?
 
  Shell存放在Config.sys文件里,在启动时提供DOS命令处理器的路径名。
  而Comsepc则是启动后,存于内存中的环境变量。

  这个变量有什么作用呢?因为某些程序会把Command.com的非驻留部分破坏,所以程序结束后返回DOS时,DOS必须把命令处理器的非驻留部分重行装入,但到底命令是在哪里?叫什么名字呢?DOS并不知道,那么可以由Config.sys的命令得到。可是当前在驱动器内的软盘可能已不是启动盘(没有Config.sys这个文件)了。所以MS-DOS才设计了一个叫Comspec的环境变量,用以记住命令处理器的路径名。当DOS要重新驻入非驻留部分时,便根据Comspec的指示去找命令解释程序。

  当然,应用程序需要装入DOS命令时处理器时,也都可以根据Comspec的记载去磁盘里寻找。

[ Last edited by Billunique on 2007-4-7 at 11:43 PM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-6 11:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 7 楼』:  

☆ DOS提供了多重弹性的执行Config.sys文件命令的做法,让用户自己能轻易掌握更符合当前状况的Config文件,控制哪些程序不运行、哪些程序要安装,因此不但能因需求不同而迅速调整系统设置,甚至可回到最原始的配置,而且也使内存不做无谓的浪费。

  DOS6.22提供了3种方式供用户控制Config.sys文件及Autoexec.bat文件的运行:

  1.征询用户是否运行某一条Config命令----在Device前加?:Device?=C:\DOS\ANSI.SYS

  2.所有Config命令和Autoexec.bat命令均需征询用户确认----在启动时(当出现Starting MS-DOS……时马上)按F8键。(6.0版只能确认Config的运行,6.2版起则亦能控制Autoexec)在这期间,如果决定接下去的命令都不运行,可按F5键;反之也可以按Esc键以运行接下去的所有命令。

  3.完全跳过Config.sys和Autoexec.bat文件的运行,以最原始的设置启动----在启动时按F5键。由于跳过了Config.sys这个文件,所以Shell=这个命令不会被运行到。这时DOS会自动到要目录下装入Command.com文件,作为命令处理器。万一Command.com不在根目录,则DOS也会到C:\DOS这个目录下去找。万一在这个目录下还找不到,则DOS会显示以下信息:
  Bad or Missing Command Interpreter
  Enter correct name of Command Interpreter(eg, C:\COMMAN.COM)

  另外,因为Autoexec.bat也被跳过了,所以其Path命令并未被运行到。不过DOS会自行默认设置PATH=C:\DOS,至于其他目录下的程序就得另用Path命令手动指定了。
  

[ Last edited by Billunique on 2007-4-7 at 11:44 PM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-6 23:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 8 楼』:  

☆ 上面说的设置能在一定程序上满足用户的多重需求,但在有些时候显得比较麻烦。有没有专门为某用户或某场合定制的配置环境,可以供其在需要的时候直接加载进入呢?

  答案是有的,DOS赋予Config.sys文件另一个很好用的功能:多重的系统配置!

1.多重配置文件的结构

  多重配置文件可分为选项区(menu block)、配置区(configuration block)和公用区(common block)3大部分,其格式如下:
[Menu]
menuitem=Bill
menuitem=Gates
[Bill]
Files=40
Device=C:\Device1.sys
[Gates]
Files=10
Device=C:\Device2.sys
[Common]
Buffers=30
Install=C:\Dos\Doskey.com
  ●选项区:这是多重配置文件的开端,必须以[Menu]为起头,以Memuitem指定各配置区的名称。启动后,屏幕上会以一个启动菜单列出各配置区的名称:
MS-DOS 6.22 Startup Menu

1.Bil

2.Gates

Enter a choice:1


F5=Bypass startup files F8=Confirm each line of CONFIG...
  启动菜单中的每一项代表着一套配置,供用户选择。请注意,选项区中只能有Menuitem语句,其他的命令DOS均不会接受。
  
  ●配置区:这是真正存放Config命令的环境设置区。启动菜单中每一选项均对应到一个配置区。以上例而言,在Enter a choice之后选第1项Bill,就会跳到以[Bill]为首的配置区去运行其环境设置。

  ●公用区:每一选项除了有各自独立的配置区外,多重配置文件还设置了共同运行区,无论选择了哪一套环境设置,都要到本区来运行共用的命令。公用区以[Common]为首。

  各配置区和公用区不分前后次序可任意排列,若选项区所列的选项没有对应的配置区,则DOS会显示该行有错。

[ Last edited by Billunique on 2007-4-7 at 11:45 PM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-7 00:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 9 楼』:  

2.Menuitem命令

  Menuitem命令使用于选项区,此命令用来设置启动菜单所对应的配置区名称,必要时可以加上说明文字,其格式为:
  
Menuitem=BlockName[,Menu Text]
  ●BlockName:除了空格 \ / , ; = [ ]字符外,可以是任何字符,最多可达70个字符。

  ●Menuitem:此参数是可选的,主要用来说明BlockName的含义。加了这个参数后,在启动菜单上所显示的项将是Menu Text,而不是BlockName。(但选择了它仍然会跳转到其BlockName相对应的配置区,它只是更替了BlockName的显示而已)同样的,Menu Text也可达70个字符。

3.MenuDefault命令

  此命令用来设置启动菜单的预选项,必要时可加上超时(Timeout)参数。其格式如下:
  
MenuDefault=BlockName[Timeout]
  ●Timeout:等待时间。一般介于0~90s之间。当用户未做选择时,DOS会在Timeout所设的时间之后,自动运行默认的项。若未指定Timeout时间,DOS会等到用户按键做选择之后才会运行下一步骤。
  
  若在多重配置内未加入MenuDefault命令,则以第一项为预选项。

[ Last edited by Billunique on 2007-4-7 at 04:24 AM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-7 02:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 10 楼』:  

4.MenuColor命令

  在选项区还可以使用MenuColor命令来设置文字和背景颜色,其格式如下:
  
MenuColor=X[,Y]
  X表示文字的颜色,Y表示背景的颜色。Y与逗号之间不能有空格。X、Y为0~15之间的数值,其代表的颜色如下所示---

  0:黑色  4:红色  8:灰色   12:鲜红
  1:蓝色  5:紫红  9:鲜蓝   13:鲜紫
  2:绿色  6:棕色    10:鲜绿   14:黄色
  3:浅绿  7:白色    11:草绿       15:亮白

  如果背景色取用8~15,将造成闪烁效果,(真的会这样吗?)所以建议尽量采用0~7号颜色。使用这些颜色的设置会因ANSI.SYS的装入而还原成最原始的颜色状态。

[ Last edited by Billunique on 2007-4-7 at 03:30 AM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-7 03:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 11 楼』:  

好了,下面我们来看一个比较综合的例子:
[Menu]
Menuitem=first_config,First Level Configuration Only
Menuitem=second_config,Second Level Configuration
Menuitem=net_config,Normal Configuration With Network
Menudefault=fir_config,30
Menucolor=15,1

[first_config]
Buffers=10
Device=C:\DOS\Ramdrive.sys

[second_config]
Buffers=20
Device=C:\CMouse.sys

[net_config]
Buffers=30
Device=C:\DOS\Himen.sys

[Common]
Files=15
Device=C:\DOS\ANSI.sys
  运行后,屏幕会显示:
MS-DOS 6.22 Startup Menu

1.First Level Configuration only

2.Second Level Configuration

3.Normal Configuration with Network

Enter a choice:1 Time remaining:28


F5=Bypass startup files F8=Confirm each line of CONFIG...
  过30s后,自动运行1。

[ Last edited by Billunique on 2007-4-7 at 04:23 AM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-7 04:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 12 楼』:  

5.Submenu命令

  在选项区中,还可以使用Submenu命令将启动菜单上的项再分出子项,所以当选用该项时,屏幕上会接着显示另一串子菜单,使得选项的结构呈现树形组织。其格式是:
Submenu=BlockName[,Menu Text]
  
  参数BlockName与MenuText和Memuitem命令的参数含义完全相同。
[Menu]
Menuitem=Ordinary
Menuitem=Special
Submenu=Combination

[Combination]
Menuitem=Text_Proc
Menuitem=Image_Proc
  
[Ordinary]
……
[Special]
……
[Text_Proc]
……
[Image_Proc]
……
  运行后,屏幕上显示:
MS-DOS 6.22 Startup Menu

1.Ordinary

2.Special

3.Combination

Enter a choice:3

F5=Bypass startup files F8=Confirm each line of CONFIG...
  如果选择第3项Combination,则会出现以下屏幕:
MS-DOS 6.22 Startup Menu

1.Text_Proc

2.Image_Proc

Enter a choice:1

F5=Bypass startup files F8=Confirm each line of CONFIG...
[ Last edited by Billunique on 2007-4-7 at 09:04 AM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-7 09:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 13 楼』:  

6.Include命令

  Include命令适用于配置区,当配置区欲使用到和其他配置相同的设置时,可以用此命令将其他配置区的内容包括进来(Include)进来,以避免重复编写。其格式如下:
Include=BlockName
  ●BlockName:并不限定在之前或之后,只要在文件内即可。

  现在再来一个相对完整的例子:
[Menu]
Menuitem=Old_Proc,Old version Operation
Menuitem=Reg_Proc,Regular Operation
Menuitem=Dbase_Proc,Data Base Operation

[Common]
device=c:\dos\himen.sys
device=c:\dos\emm386.exe noems(?)
dos=high,umb(?)
shell=c:\dos\command.com c:\dos /p(?)

[Old_Proc]
device=c:\dos\setver.exe
include=Reg_Proc

[Reg_Proc]
buffers=30
files=30

[Dbase_Proc]
device=c:\dos\ramdrive.sys 384,128,16/E(?)
lastdrive=E
buffers=30
files=20
  ●MS-DOS Config文件内的运行顺序是:

  1)DOS=High与DOS=UMB先运行,这二者按排列顺序先后来运行。若此时Himen.sys或Emm386.exe尚未运行,则DOS会先保留,等Himen.sys或Emm386.exe装入后,便立即运行DOS=High和DOS=UMB。
  2)接下来运行的是Device、Files、Buffers…DeviceHigh、Shell等Config命令,各命令根据排列次序运行。
  3)最后运行的是Install命令。

  上列命令分散于多个配置区,则DOS会等用户做完配置区选择之后,将所选的配置区和Command区内的Config命令集中起来,再根据上列1、2、3的顺序运行。

[ Last edited by Billunique on 2007-4-7 at 12:26 PM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-7 12:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 14 楼』:  

多重配置的Autoexec.bat

  使用多重配置时,DOS会建立一个专用的环境变量Config,以记载当前运行的是哪一个配置区。可以根据这个环境变量,来制作多重的Autoexec.bat文件,使得每一套配置,均能对应到分别的批处理文件。如此将使每一套系统的配置更加个性化,不会和其他系统配置相互干涉。

  如何制作多重的Autoexec.bat文件呢?可以使用Goto命令,再配合环境变量Config来运行其对应的部分。

  下面是专为呼应前例多重配置文件而编写的的Autoexec.bat文件:
@echo off
path c:\dos; c:\windows; c:\pctools8; c:\et31
prompt $p $g

goto %config%          rem 记载当前运行的配置区名称(BlockName)

:Old_Proc
msav
goto End

:Reg_Proc
doskey
smartdrv
goto End

:Dbase_Proc
call et31
append c:\dbf
goto End

:End
[ Last edited by Billunique on 2007-4-7 at 11:46 PM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-7 23:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Billunique
中级用户

菜鸟总动员


积分 259
发帖 112
注册 2006-8-28
状态 离线
『第 15 楼』:  

CPU的寻址能力

  寻址能力就是CPU能存取到的地址空间,也就是CPU地址线所能组合出来的地址数。CPU利用地址线来选定内存的地址。因为每一条地址线有0和1两种状态。所以n条地址线可以选到2的n次方个地址。

  以下是80x86系列CPU的寻址能力:

    CPU        地址线      寻址能力
    8088/8086      20条       1MB
    80286        24条         16MB
    80386SX      24条       16MB
    80386DX      32条       4GB(4096MB)
    80486        32条       4GB(4096MB)

以下引用自Redtek:)

  Quote:
  5、8080、8088、80286、80386地址总线宽度分别为16、20、24、32根,它们寻址能力为_KB、_MB、_MB、_GB。

    答:8080  为:64KB
      8088    为:1MB
      80286  为:16MB
      80386  为:4GB

  6、8080 8088 8086 80286 80386的数据总线宽度为8 8 16 16 32根,则它们一次可以传送的数据分别为多少B?

    答:8080  为:256B
      8088  为:256B
      8086  为:65536B
      80286 为:65536B
      80386 为:4294967296B

    1GB=2的10次方MB(数字怎么上标啊,菜鸟不会啊~)
      =2的10次方*(2的10次方KB)=2的20次方KB
      =2的10次方*2的10次方*(2的10次方B)=2的30次方B
    1MB=2的10次方KB=2的10次方*(2的10次方B)=2的20次方B


[ Last edited by Billunique on 2007-4-8 at 07:14 AM ]



★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲
2007-4-8 07:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] [4] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: