标题: [原创][CMD]看NFO的东东(2.0免安装版本及旧版本卸载)
[打印本页]
作者: electronixtar
时间: 2006-7-18 11:38
标题: [原创][CMD]看NFO的东东(2.0免安装版本及旧版本卸载)
::ViewNFO2.cmd Version 2.0
::
:: By est, electronicstar@126.com
:: CHiNA DOS UNiON, [url]www.cn-dos.net[/url]
@echo off
if [%1] == [] goto RegViewNfo
color f0
chcp 437
cls
title %~n1%~x1 - ViewNfo.cmd by est V2.0
type %1
> nul pause
exit
:RegViewNfo
assoc .nfo=nfofile>nul
ftype nfofile="%~d0%~p0ViewNfo2.cmd" "%%1">nul
echo the .nfo file type was registered successfully.
pause> nul
先把代码存成ViewNfo2.cmd,放到一个装程序的目录下,如:D:\Program Files\ViewNfo\,双击执行ViewNfo2.cmd就会自动注册 .nfo 文件的关联。以后下载了Warez的东东看 .nfo 的时候双击就会自动用 ViewNFO.bat打开。如果你不想关联.nfo文件类型,每次看.nfo的时候把.nfo文件拖到ViewNfo2.cmd上就可以了
旧版本卸载:
more +4 < %~f0 >%temp%\UninstallViewNfo2.reg
regedit -s %temp%\UninstallViewNfo2.reg
exit
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\nfofile]
[HKEY_CLASSES_ROOT\.nfo]
@="MSInfo.Document"
把代码存成UninstallViewNfo2.cmd,双击执行即可以卸载掉.nfo文件关联功能~
网上有很多查看 .nfo 和 ASCII Art 的软件,但是几乎都没有处理好中文乱码的问题。但是cmd下有得天独厚的 codepage环境,可以方便地切换到纯ASCII环境。所以我有了写这个小程序的想法。还有很多不足,希望大家多多提建议。
这张图是旧版本的哈~~只是展示一下显示效果~~
[
Last edited by willsort on 2006-8-2 at 17:41 ]
作者: doscc
时间: 2006-7-18 14:32
改一下兄的代码:
生成文件时 免得用 echo >>
````````````````````````
@echo off
::ViewNFO.cmd Version 1.3.05 Beta
::
:: By est, electronicstar@126.com
:: CHiNA DOS UNiON, www.cn-dos.net
more +12 < %0 >> ViewNFO.bat
assoc .nfo=nfofile
ftype nfofile="%~d0%~p0ViewNFO.bat" "%%1"
exit
:: 生成新文件! ViewNFO.bat
@echo off
color f0
mode con codepage select=437
cls
title %~n1%~x1 - ViewNfo.cmd by est V1.1.05 Beta
type %1
pause > nul
用 type 显示 .nfo 文件 会拖到最后面.
如果用 more < *.nfo
则不会拖到最后面. 不过 是一页一页显示的. 当前是显示第一页. 按 空格键显示下一页.
参考 more /?
下面来几张图!
[
Last edited by doscc on 2006-7-18 at 14:33 ]
附件
1: 1.JPG (2006-7-18 14:32, 67.13 K, 下载附件所需积分 1点
,下载次数: 10)
附件
2: 2.JPG (2006-7-18 14:32, 36.02 K, 下载附件所需积分 1点
,下载次数: 6)
附件
3: 3.JPG (2006-7-18 14:33, 46.35 K, 下载附件所需积分 1点
,下载次数: 6)
附件
4: 4.JPG (2006-7-18 14:33, 52.08 K, 下载附件所需积分 1点
,下载次数: 6)
作者: electronixtar
时间: 2006-7-18 14:51
楼上的用法经典!貌似当年玩basic也是在.bas后写机器码直接call~~~
8过不推荐用more,觉得不方便~~
貌似程序可以升级到 1.6.00了,呵呵
如果有高手能解决路径含空格的问题,写出只有一个bat,不用安装的bat就好了
[
Last edited by electronixtar on 2006-7-18 at 15:32 ]
作者: bagpipe
时间: 2006-7-18 15:34
强!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!又学到一招............................ 我灌....................
作者: electronixtar
时间: 2006-7-18 15:46
BagPipe过奖了,比其你的那些代码这个东东很没文化了
作者: willsort
时间: 2006-7-19 13:21
Re est:
也凑个份子吧,功能和代码都作了简化。
如果要贴nfo的话,最好能贴原件,而不是截图,这样不仅可以在本地还原,也可以减小附件体积。
将.nfo注册后,可以在cmd中以nfo文件全名直接查看,将.nfo加入到pathext,可以直接省略扩展名查看。
另外,谁有兴趣,不妨设计一个cn-dos的nfo。
@echo off & chcp 437>nul
for %%f in ("%~dpn1*.nfo") do title %%~nxf & type "%%~f" & pause>nul
[
Last edited by willsort on 2006-7-19 at 13:29 ]
作者: bagpipe
时间: 2006-7-19 15:02
我也给你们来一下子,补充说明一下 CODE PAGE的概念及其设置值
Chcp
Displays the number of the active console code page, or changes the console's active console code page. Used without parameters, chcp displays the number of the active console code page.
Syntax
chcp [nnn]
Parameters
nnn : Specifies the code page. The following table lists each code page supported and its country/region or language:
Code page Country/region or language
437 United States
850 Multilingual (Latin I)
852 Slavic (Latin II)
855 Cyrillic (Russian)
857 Turkish
860 Portuguese
861 Icelandic
863 Canadian-French
865 Nordic
866 Russian
869 Modern Greek
什么是code page, 怎么修改windows cmd中的codepage
如果你的cmd无法正常显示中文, 或者其他字符, 通过chcp 来修改, 参数是nnn代表3个数字. 简体中文的codepage是: 936 西文是:1252
Code page 的历史:
1. Codepage的定义和历史
字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为
单字节内码 -- Single-Byte character sets (SBCS),可以支持256个字符编码.
双字节内码 -- Double-Byte character sets)(DBCS),可以支持65000个字符编码.主要用来对大字符集的东方文字进行编码.
codepage 指的是一个经过挑选的以特定顺序排列的字符内码列表,对于早期的单字节内码的语种,codepage中的内码顺序使得系统可以按照此列表来根据键盘的输入值给出一个对应的内码.对于双字节内码,则给出的是MultiByte到Unicode的对应表,这样就可以把以Unicode形式存放的字符转化为相应的字符内码,或者反之,在Linux核心中对应的函数就是utf8_mbtowc和utf8_wctomb.
在1980年前,仍然没有任何国际标准如ISO-8859或Unicode来定义如何扩展US-ASCII编码以便非英语国家的用户使用.很多IT厂商发明了他们自己的编码,并且使用了难以记忆的数目来标识:
例如936代表简体中文. 950代表繁体中文.
1.1 CJK Codepage
同 Extended Unix Coding ( EUC )编码大不一样的是,下面所有的远东 codepage 都利用了C1控制码 { =80..=9F } 做为首字节, 使用ASCII值 { =40..=7E { 做为第二字节,这样才能包含多达数万个双字节字符,这表明在这种编码之中小于3F的ASCII值不一定代表ASCII字符.
CP932
Shift-JIS包含日本语 charset JIS X 0201 (每个字符一个字节) 和 JIS X 0208 (每个字符两个字节),所以 JIS X 0201平假名包含一个字节半宽的字符,其剩馀的60个字节被用做7076个汉字以及648个其他全宽字符的首字节.同EUC-JP编码区别的是, Shift-JIS没有包含JIS X 202中定义的5802个汉字.
CP936
GBK 扩展了 EUC-CN 编码( GB 2312-80编码,包含 6763 个汉字)到Unicode (GB13000.1-93)中定义的20902个汉字,中国大陆使用的是简体中文zh_CN.
CP949
UnifiedHangul (UHC) 是韩文 EUC-KR 编码(KS C 5601-1992 编码,包括2350 韩文音节和 4888 个汉字a)的超集,包含 8822个附加的韩文音节( 在C1中 )
CP950
是代替EUC-TW (CNS 11643-1992)的 Big5 编码(13072 繁体 zh_TW 中文字) 繁体中文,这些定义都在Ken Lunde的 CJK.INF中或者 Unicode 编码表中找到.
注意: Microsoft采用以上四种Codepage,因此要访问Microsoft的文件系统时必需采用上面的Codepage .
1.2 IBM的远东语言Codepage
IBM的Codepage分为SBCS和DBCS两种:
IBM SBCS Codepage
37 (英文) *
290 (日文) *
833 (韩文) *
836 (简体中文) *
891 (韩文)
897 (日文)
903 (简体中文)
904 (繁体中文)
IBM DBCS Codepage
300 (日文) *
301 (日文)
834 (韩文) *
835 (繁体中文) *
837 (简体中文) *
926 (韩文)
927 (繁体中文)
928 (简体中文)
将SBCS的Codepage和DBCS的Codepage混合起来就成为: IBM MBCS Codepage
930 (日文) (Codepage 300 加 290) *
932 (日文) (Codepage 301 加 897)
933 (韩文) (Codepage 834 加 833) *
934 (韩文) (Codepage 926 加 891)
938 (繁体中文) (Codepage 927 加 904)
936 (简体中文) (Codepage 928 加 903)
5031 (简体中文) (Codepage 837 加 836) *
5033 (繁体中文) (Codepage 835 加 37) *
*代表采用EBCDIC编码格式
由此可见,Mircosoft的CJK Codepage来源于IBM的Codepage
作者: chenwei450
时间: 2006-8-2 14:12
学习中。。。谢谢
作者: dengke227
时间: 2008-1-6 14:49
刚来这里转悠,发现楼主的好东西,非常感谢!
作者: zhangzhaoc
时间: 2008-1-28 14:03
好
作者: zljzsm
时间: 2008-5-8 00:11
哎 乡下人进城 看到好东西就藏
等什么时候俺也有了文化
俺也上来给你们写点什么
就不知道到时候有没有人给俺捧场