who is ftype?

起因

学弟和学妹去实验室找我,说学妹的电脑系统出问题了。
我说,自己重装系统。学妹卖萌说不行,看在学弟的面子上,还是帮她看了看。

电脑现象

电脑系统是win7,然后双击所有的exe文件都会用txt记事本打开。打不开原来的程序了。

解决办法

学妹说自己在测试的时候,用了一行dos命令

ftype txtfile=notepad.exe %1

然后查了一下,文章上面一大堆。直接搬运过来了

assoc .txt=txtfile //表示.txt后缀名的文件是txtfile文件类型,即.txt关联txtfile
ftype txtfile=notepad.exe %1 //表示碰到txtfile类型的文件,便启动notepad.exe,并用notepad打
开该文件。

例子:好比方说我们桌面上有一个a.txt文件,当我们双击a.txt文件时,系统根据“assoc .txt=txtfile”命令,知道.txt文件是txtfile文件类型;但是txtfile类型的文件用什么程序打开呢?操作系统又根据
“ftype txtfile=notepad.exe”命令知道txtfile类型的文件要用notepad.exe程序打开,便启动notepad.exe程序;最后,根据”%1”参数,用notepad.exe程序打开a.txt自身(实际上,我们双击a.txt,调用了notepad.exe,而notepad.exe反过来打开a.txt,所以说是”自身”)。

参数 %1 用dos命令”ftype /?”,得到的解释是“在一个开放式命令字符串之内,命令字符串 %0 或 %1 被通过关联调用的文件名所代替”。什么意思呢?
好比方说,我双击a.txt, a.txt关联txtfile, 然后调用ftype txtfile=notepad.exe %1 ;
调用后应执行notepad.exe %1,但是%1为参数,应被发起该关联调用的文件名a.txt所替代,则命令变成notepad.exe a.txt。
我们桌面双击a.txt和在dos下输入notepad.exe a.txt的效果是一样的。

杀毒后.exe文件无法打开,关联被破坏的修复方法
由于开始–>运行–>cmd 运行的是Windows/system32下的cmd.exe,因为.exe关联被该,cmd.exe无法双击运行,所以要另辟蹊径
进入DOS的方法:
1、进带DOS命令的安全模式
2、右击任何文件,选择“打开方式”,然后点击“浏览”,转到Windows\System32下,选择cmd.exe,这样就可以再次打开“命令提示符”窗口
3、随便新建一个txt文件,把它的后缀改成.bat。点击鼠标右键选择编辑,输入cmd然后保存,双击运行就可以打开cmd窗口了
恢复.exe的文件关联
assoc .exe=exefile
ftype exefile=”%1” %*

自己猥琐的想法

这也算是一种bat的代码。可以放到bat里面运行的。之前写过bat恶搞的程序总结,这也算一个吧。之前的bat代码文章:
http://blog.csdn.net/u013995946/article/details/46460507

恶搞引申

1、关闭所有程序,只留下桌面。用截图工具,将整个桌面截图。可以按一下键盘上面的print screen,然后粘贴到doc文档或者画图文件上面。
2、然后将桌面上面的所有图标放到其它地方。右击任务栏,点击属性,将自动隐藏的选择勾上。
3、将那张桌面的截图,保存到一个地方,然后将其作为背景图片。
然后呢?就会发现桌面上的图标还在,任务栏也还在,但是双击那些快捷键的图标,没有任何反应。
why?why?why?
because it’s a picture .:)

THE END