为什么在“开始菜单--运行”里面输入cmd时,不出现DOS窗口,而是打开一个文件夹cmd.com?

如题,那个文件夹存在于system32文件夹中,删除这个文件夹以后就能正常运行DOS了,请问是什么原因造成的? PS:system32文件夹中的dllcache文件夹里都是什么东西?

windows文件保护: 打开我的电脑,进入windows\system32\看看,里面有很多诸如动态链接库(.dll )和可执行文件(.exe )等系统文件(也有许多是属于你装的软件的),这些文件关乎系统的稳定运作,却在暴露在光天化日之下,如果被删除和被替换,就可能会造成系统运行不稳定。事实上,装软件的时候,特别是一些版本老的软件的时候,覆盖一些共享系统文件的事是常有的。 针对这一点,windows就有一个“文件保护”的后台服务。默认情况下,该服务一直处于启用状态,监视着所有受保护的系统文件,如果发现替换或移动受保护的系统文件企图,它能直接阻止。当然windows并不阻止所有这样的企图,它允许有Windows 数字签名文件替换现有文件,这样你的系统才可以更新和升级。 “系统文件检测”程序 “系统文件检测”程序是一个在命令提示符下使用的实用程序,命令是“sfc”,只有是管理员才能使用该程序,那些“大虾”们教的删除dllcache的命令“sfc/purgecache”就是用了这个程序,这个程序的作用就是检测系统文件,如果检测到受保护的文件已经被不正确的文件覆盖,它就从系统文件备份(就是dllcache)中提取正确的系统文件,替换不正确的文件。 这个程序也检测dllcache本身,如果发现dllcache已经损坏或者不能使用,可以用修复它,所谓修复,就是要你插入安装盘,它自动从中提取所需的文件。命令是“sfc /scannow”,具体各位可以查看帮助。 dllcache: dllcache的位置在“\windows\system32\dllcache”,有350M以上,是个系统隐藏文件,这么大的体积是想减肥的xp用户盯上它的原因。 大家搜索一下windows文件夹下的某类系统文件(先取消系统文件的隐藏属性喔!),会发现有很多文件是重复的,许多文件会在system32(除dllcache)和dllcache里各有一个。所以dllcache可以看作是个备份。它的体积不是固定的,当你装一些微软系的软件,或做升级,打补丁时,安装程序会在dllcache中放一些重要文件的副本——这样他的体积就增加了。 dllcache作为备份是在使用“系统文件检测”时发挥作用的,介绍“系统文件检测”时已经做了说明。 其实dllcache里面“备份”的系统文件要比你使用的多,也就是说它准备的东西有些你还没用到,在你用到的时候,它结合“windows文件保护”就能发挥作用。比如你装了一些软件(主要是微软系),这个软件会在windows里的有关文件夹里放入已经被设定为被“windows文件保护”监视的重要文件,但要比dllcache里的旧,这时“windows文件保护”就会从dllcache里读取最新的版本替换旧的文件。 所以dllcache不只是一个简单的“备份”,它实际上“准备”了你可能会用到的所有重要系统文件,是一个备用的系统文件库。 从“删不删?”到“万全之策” 很多人问我这个问题的时候,我都说“不”,dllcache是不应该删的。 dllcache是系统隐藏文件,微软这么小心奕奕地把它藏起来总是有它的道理的。引起“删不删”的疑问是因为它体积大而用的少,不象shell,无处不用。 但删除它是危险的: 1,容易让旧版本的文件贮存系统文件夹,造成系统不稳定。 2,使“系统文件检测”程序失效,一旦使用就会提示你从安装盘把dllcache“取”回来,如果取回来,那你不就白删了? 3,升级,打补丁的时候,原来设定要放到dllcache里的备份没处放,可能会造成升级中止,或重建一个名为dllcache的文件夹来放备份。(我没删,所以我不敢确定是什么后果)。 4,当你装一些软件,或加一些硬件时,他们可能设定要从dllcache重提取一些文件出来使用,没有dllcache会造成硬件无法使用或软件无法安装。 可见,删dllcache短期内也许没关系,但长期看,你会碰到问题却不知道问题出在哪里——而这很可能是因为没有dllcache造成的。所以我强烈建议不要删。 那么那些系统盘实在太小的朋友该怎么办呢?经过研究,我找到了方法,就是把dllcache“转移”到别的盘,就象转移虚拟内存。下面容我讲来这个“完全之策”地步骤: 1,开始->运行,键入“gpedit”->启动“group policy”。 2,在“group policy”找到:本地计算机策略->计算机管理->管理模块->system ->windows File protection 3,单击“windows File protection”,你在右面看到一个叫“Specify Windows File Protection cache locatin”的项。这个项是设置dllcache的位置的,下面 你就知道怎么做了,我就不多说了,自己动手搞定它吧
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-04-07
因为cmd文件的全名是cmd.exe,exe和com都是可执行文件,com文件的优先级比exe高,所以当你只输入cmd没有输入全名时,系统会先查找cmd.com,如果找到就会执行它,如果找不到就继续查找cmd.exe,依此类推。 dllcache文件夹中保存的是系统文件的备份。本回答被提问者采纳
相似回答