操作系统

All posts tagged 操作系统

自定义【运行…】快捷命令

不知何时起,渐渐习惯了使用Win+R键呼出【运行…】对话框,然后在其中输入cmd,便能打开Windows命令行方式;输入notepad,便能打开记事本。

今天突发奇想,要是能将这个功能扩展到非Windows自带程序,那该多好啊,比如输入QQ,运行QQ;输入foxmail运行foxmail……

记得以前在学Java时第一课就提到Java的配置问题,要实现在命令行的快捷调用程序,就要在系统环境变量里配置。
其实,cmd与notepad,分别是“命令行程序”与“记事本”的实质程序名:cmd.exe及notepad.exe。而在【运行…】里输入notepad,实则是运行了“C:\windows\system32\notepad.exe”这一条命令。而之所以系统能自动将“cmd”的路径及后缀名补全,是因为设置了系统的环境变量(主要是Path及PATHEXT两个系统环境变量)。

系统环境的变量可以这样查看和修改:
右键【我的电脑/计算机】——【高级】——【环境变量】

Path环境变量,其内容是一些以分号分割的目录。其作用是告诉系统当遇到无法识别的命令时自动去Path所列出的目录中寻找相应文件(程序)。
PATHEXT环境变量,其内容是一些以分号分隔的后缀名。其作用是告诉系统当遇到无法识别的命令时自动补全PATHEXT中所列的后缀名并寻找相应的文件(程序)。

假设:
Path的值(内容)为:c:\path\;d:\document\;
PATHEXT的值(内容)为:.TXT;.MP3;.DOC;

那么,当你输入一个系统不认识的命令(如:a)时,系统会试图寻找以下文件,如果存在,则运行。
C:\path\a.txt
C:\path\a.mp3
C:\path\a.doc
D:\document\a.txt
D:\document\a.mp3
D:\document\a.doc
那么,如果我要让系统能识别QQ,也就是自动将”QQ”补全为“D:\Program Files (x86)\Tencent\QQ\QQ.exe”话,那么无非就是要作以下的添加:
在Path中添加 D:\Program Files (x86)\Tencent\QQ\
在PATHEXT中添加 .EXE
添加的方法是在原先的内容后面添加半角分号,然后跟上要添加的字符串。
根据上面那个例子来添加,则是:
Path的值(内容)为:c:\path\;d:\document\;D:\Program Files (x86)\Tencent\QQ\;
PATHEXT的值(内容)为:.TXT;.MP3;.DOC;.EXE;
于是,当运行“QQ”时候,系统会在以下文件内搜索:
C:\path\qq.txt
C:\path\qq.mp3
C:\path\qq.doc
C:\path\qq.exe
D:\document\qq.txt
D:\document\qq.mp3
D:\document\qq.doc
D:\document\qq.exe
D:\Program Files (x86)\Tencent\QQ\qq.txt
D:\Program Files (x86)\Tencent\QQ\qq.mp3
D:\Program Files (x86)\Tencent\QQ\qq.doc
D:\Program Files (x86)\Tencent\QQ\qq.exe

显然,只有最后一条路径是有效的,于是QQ运行……
事情并没有那么简单。如果有这么简单的话我也不会为此写一篇博客了。

我想实现以下功能:在【运行…】中输入”ue”,便能打开UltraEdit(一个十六进制编辑器)。

好,问题来了。UltraEdit程序并不是以“ue.exe”命名的,而是:”uedit32.exe”

换言之,当我即便我添加了UE的程序路径与后缀名后,系统仍是以 [路径]ue.[后缀名]的形式来寻找的,并不能找到”D:\Program Files (x86)\IDM Computer Solutions\UltraEdit-32\uedit32.exe”

这样的情况还有很多,比如我想输入“ut”打开μTorrent,输入”hi”打开百度Hi,输入”word”打开Microsoft Word。而这些程序的名字分别为:uTorrent.exe、BaiduHi.exe、winword.exe。

我们可以利用快捷方式+环境变量的方式来解决。

首先,随便在哪儿新建一个文件夹,名字也随意。比如我建立的是C:\MyRun,并把它添加到环境变量Path中,使之成为默认搜索的文件夹;再在PATHEXT中添加.LNK ,使默认搜索快捷方式文件(.lnk)。

然后在此文件夹中新建快捷方式,将快捷方式指向要打开的文件(程序),而快捷方式本身命名为方便记忆的名称。

例如快捷方式名为ue,而它指向的是:”D:\Program Files (x86)\IDM Computer Solutions\UltraEdit-32\uedit32.exe”

这样一来,当我【运行…】“ue”时,系统会自动找到C:\MyRun\ue.lnk,而它直接指向uedit32.exe,并自动打开之。

利用环境变量+快捷方式的方法,还可以实现许多效果。

比如输入music打开“我的音乐”文件夹,就是在C:\MyRun目录下建立一个名为music并指向我的音乐的文件夹(我计算机中路径是“I:\我的文档\音乐”,大家的可能不一样,多半是默认的吧。)

又如,直接将快速启动栏的“显示桌面”按钮拖动到”C:\MyRun”下,则可以打开“桌面文件夹”。——这个问题很奇怪,直接运行该文件是最小化所有窗口显示出桌面,而当通过【运行…】desktop快捷方式时,则变成了打开一个以桌面为当前路径的资源管理器窗口……

问题还没结束,我又想实现的效果是:【运行…】wildgun,直接在浏览器中打开我的博客链接(http://hi.baidu.com/wildgun)。
为此我研究了一番,找到了三条都并不完美的方法。于是我将之都列出,说明其缺陷及其实现方法:

方法一:网页快捷方式文件
缺点:需要跟.url后缀。
实现方法:直接把网页做成网页快捷方式文件(*.url)如wildgun.url指向http://hi.baidu.com/wildgun,并在PATHEXT中添加.URL后缀。
虽然已经添加该后缀,但命令行仍无法自动找到该文件,需【运行…】“wildgun.url”方能打开。
多了4个字符,违背了偷懒的精神,不考虑使用该方法。

方法二:批处理+网页跳转
缺点:要创建两个文件,并且在运行批处理程序时会自动跳出“命令行方式”的黑色窗口
实现方法:在C:\MyRun下建立wildgun.bat程序,其内容为:wildgun.html
并在C:\MyRun 下建立wildgun.html网页文件,网页文件内容是使用<meta>或javascript跳转至我的个人博客。
meta法:<meta http-equiv=”refresh” content=”1;url=http://hi.baidu.com/wildgun/”>
javascript法:<script>window.location.href(“>
但总觉得有窗口闪一下跳出来很麻烦,感觉是后台被运行了什么危险程序,而虽然可以用VBScript脚本是指在后台运行,但似乎用了VBS就更接近危险程序了- -,放弃此方案。

方法三:浏览器快捷方式+URL
缺点:只能确定以某个浏览器打开网页,而无法设定为使用系统默认浏览器打开。(换言之,哪天系统默认浏览器改了,自定义命令仍是以快捷方式所指向的浏览器打开。)
实现方法:新建快捷方式文件,命名为wildgun,指向 “D:\Program Files (x86)\Maxthon2\Maxthon.exe” http://hi.baidu.com/wildgun
(上行中指向内容包括引号内的路径及引号后的网址)
这样,系统就会以maxthon.exe打开我的百度空间了。经试验,IE、Maxthon2、TT、Opera、Safari、Chrome都支持这种方式打开。

我现在用的就是这种方式。当然,期待完美解决方案,能实现以系统默认浏览器打开。

顺便一说,结合上次的研究,我现在可以在【运行…】中输入“utadmin”,直接打开μTorrent的WebUI,实现更方便更快捷的远程控制了!

于是大家也试着玩玩看吧。

没错,你没看错。

既不是WinVista,也不是Win7,更不是Win32,而是——Windows3.2。

 

欢迎界面,和WinXP很像!

 

没看明白这个步骤……

 

拷贝文件,和XP超像的!

 

输入用户名,这里已经可以用中文输入法了,如智能ABC、全拼、郑码……不过微软拼音还没有……

 

 

很奇怪,为啥安装过程中会提示安装打印机……?难道当时的电脑很重要的一个任务就是打印?

 

很快就安装好了,然后进入教程

 

很怀旧的教程,小学刚学电脑时,经常会把这个教程当游戏玩(因为没啥游戏可玩!)

 

跳过教程,提示安装成功。

那是的windows系统仍不能随开机启动,而是要在Dos下键入win运行。

 

启动画面。

 

“程序管理器”,便是当时Windows的基础窗口了。

 

画笔程序

 

记事本

 

“书写器”程序,是个比记事本高级一些的文字编辑工具。

 

居然在Windows3.2里发现了QBasic的IDE,如果凭着以前的一些记忆,编了个小程序。

 

“Hello,World!”

其实已开始编了一个程序,不过因为没有写end语句,所以变成死循环了……

 

文件管理器,即日后“资源管理器”的前身

 

任务管理器

 

大家可以猜一下这是什么程序,现在也有哦!

 

注意图标!

是不是很眼熟?这就是Regedit——注册表编辑器 的前身

 

剪贴板查看程序,这么好的东西居然在以后的Windows版本中被隐藏起来了……

 

最后是确认关机,退出后返回Dos

最近,看见几条新闻,都是关于在手机或者其他数码设备上运行Windows早先版本的。于是我也开始怀旧了,不过因为技术境界还没那么高,只好在VM虚拟机里玩玩。

说起来我还是第一次安装Dos……

 

欢迎屏幕

 

磁盘格式说明

 

协议确认框

这……微软居然也有软件是遵循GNU协议的,太神奇了!

 

这个应该是检查分区。

 

创建Fat32分区……

 

重启

 

写入主引导扇区

 

安装目录

 

完全安装/DOS命令/最小DOS系统

 

安装信息确认

 

安装过程,忽然发现和XP安装一开始的拷贝安装文件的过程的界面何等相似!

 

征询是否要显示MS-DOS的logo,真神奇,怎么今后Windows的logo就问都不问直接显示了呢……

 

安装成功!

 

重启

 

MS-DOS启动画面,看起来是Photoshop新手P出来的……

 

启动后的界面

 

“Edit”,Dos下的文本编辑工具

 

还是支持鼠标的。看,字符串所指的那个方块就是鼠标光标。

 

如果很早之前就玩PC的朋友,应该不会陌生这个一大串提示文字

 

没错,这就是经典的fdisk分区工具。

以前还有个中文的fdisk,我就经常用。现在英文版的基本上都忘了,所以就没有进行下去……

 

这是我学的第一条Dos命令:dir

这是Dir命令的帮助文件

 

dir列出C盘文件

恩,截图到此为止,因为然后我又安装了Win3.2……

前几日将无线局域网内另一台电脑的共享文件夹映射为本地M:盘。这次开机后共享文件夹所在计算机处于关闭状态,M盘盘符为“无法连接的映射网络盘”。

 

之后将三星YP-T7 mp3插入USB口,系统识别出该MP3,但“计算机”的盘符图标仍找不到其对应图标,后来在发现该MP3已经被系统认作M:盘,但几次刷新后,M:盘图标仍为“无法连接的映射网络盘”。

近日心血来潮,玩《美少女梦工厂2》

1、用VMware虚拟出一个WinMe

2、网上找了好多内码转换软件……不是不支持WinMe,就是要在线注册(不知道为什么,我的WinMe无法访问外网以及局域网内的其它计算机,只能ping网关)

3、没办法,只要用Virtual DAEMON做了一个个大大小小的镜像,在宿主机虚拟光驱,然后用VMware映射到虚拟机

……………………………………………………………………………………………………

总之,很麻烦,很麻烦……

最后,居然我的女儿还嫁给了那个老不死的国王老头!

我要父嫁结局!!!!!