- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
批处理闪即退的解决办法
一、批处理文件名中包含“”、“^”
此问题在Win7、Win8中都会出现,具体表现为使用右键以管理员身份运行时批处理一闪即逝,双击运行则正常。这个问题是本人在10年12月发现的,应该是Windows的一个BUG,当时还发了几条微博。
假设文件名为“AB.bat”,系统会认为“”前后是两条语句,所以会执行“A”和“B.bat”。
假设文件名为“A^B.bat”,系统会忽略“^”,所以实际上运行的是“AB.bat”。
但是一般情况下当前文件夹中并没有“A”、“B.bat”、“AB.bat”这几个文件,于是就自动退出了。这里说明一下,运行“A”时,系统不会运行无扩展名的“A”,而是会按照环境变量%PATHEXT%里面的值“.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC”按顺序进行查找“A.COM”、“A.EXE”……
为此我们可以进行验证,在某个文件夹中新建这6个文件A、AB.bat、A.bat、A^B.bat、AB.bat、B.bat。
除AB.bat和A^B.bat外,内容均为
1
2 @Echo %~nx0
@Pause 其中%~nx0表示当前批处理文件(0)的文件名(n)及扩展名(x)。AB.bat和A^B.bat需要把%~nx0换成A^B.bat和A^^B.bat,因为“”和“^”都需要转义才能显示。
双击直接运行AB.bat:
右键管理员身份运行AB.bat:
你还可以将A.bat、B.bat删除其中一个或者都删除再看看运行结果,我就不截图了。A^B.bat的结果和AB.bat类似,也不截图了。
二、环境变量%PATH%有问题
批处理中调用了系统目录下的程序,但是PATH有问题导致找不到文件。这个问题的起因,可能是你手工修改失误,也可能是安装了什么软件对PATH进行了修改,最常见的是MacType这个软件。
虽然FlyingSnow说MacType的这个BUG早已修复,但是本人Win7 x64亲测这个BUG在目前必威体育精装版版2010.1231.0中依然存在,之前没有安装过任何旧版本MacType。
目前导致这个问题的具体原因还不太清楚,因为PATH看上去是正确的,一种可能有效的解决办法是在PATH最后加一个“;”再保存,如果不行可以再把最后的“;”删掉再保存。
三、批处理本身编写有误
拼写错误、忘记加pause这些低级错误我就不说了。说一个稍微高级一点儿的关于for的错误。
在批处理中for语句的变量都要写两个%,比如%%i,而在CMD中只需一个,这是一个比较容易出错的地方,如果在批处理中写成了%i,在运行到这条语句时就会提示错误然后自动退出。
下面介绍一种方法可以看到一闪即逝的错误,方便找到原因:
先Win+R打开运行窗口,输入CMD回车,打开CMD窗口,然后将批处理文件拖入CMD窗口,此时文件的路径会出现在屏幕上,然后按回车即可。
当然为了方便你也可以为bat文件添加一个右键菜单,具体步骤我就不讲了,Google有的是,命令行这样写
1 C:\Windows\System32\cmd.exe /k %1
四、CMD被禁用
这个问题一般不会导致一闪即逝,而是会提示“命令提示符已被系统管理员停用”。
既可以在组策略中修改也可以在注册表中修改
组策略中的位置:
Win+R打开运行窗口输入gpedit.msc回车打开组策略
左侧选择用户配置 – 管理模板 – 系统,然后右侧找到“阻止访问命令提示符”,选择未配置即可
注册表中的位置:
DisableCMD键值的位置在
HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System
DisableCMD为1表示禁用命令提示符和批处理文件,2表示只禁用命令提示符,改成0或者删除就可以解禁了
UPDATE: 如果修改后依然提示被禁用,可能是你中过病毒,修改了注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\0\Paths\{403cf677-e149-45df-bf2d-b320958e5ada}
里面内容为
LastModified = AA 7A 59 05 D2 2C CC 01
Description = “”
SaferFlags = 0ItemData = “cmd.exe”
将这个项{403cf677-e149-45df-bf2d-b320958e5ada}整个删除即可
感谢群友无影的反馈
如果你还遇到其他情况,请告诉我
文档评论(0)