我发现这个问题的变体在各处被问到,并且我尝试了所有我在那里找到的实际答案(包括更改关联的注册表)。基本问题是这样的:
- 我在桌面上或计算机中的任何文件夹中创建了一个批处理文件(具有回声和暂停的简单批处理)。
- 我双击批处理文件来运行它并得到:
解决方法包括:
- 右键单击并以管理员身份运行
- 打开命令提示符并按名称调用批处理文件
一段时间以来,我一直使用这些变通方法来处理这个问题,但我开始认为我无法让某些程序正常工作(例如,Android Studio 中的 android.bat 无法运行,因为文件未找到,尽管它在那里),这与这个问题有关。如果我下周不能解决这个问题,我可能会重新格式化。
附加信息:
- 这是 Windows 8.1 Pro 64 位
- 没有其他文件类型存在此双击执行问题
- 如果我使用解决方法从另一个批处理文件调用一个批处理文件,它就可以工作
- 无论我在哪个文件夹中,都会发生这种情况,并且不会在使用相同 Windows 副本的 Hyper-V 虚拟机上发生这种情况
- 所有 Windows 更新都已运行,我也已进行病毒扫描等 - 唯一同时出错的另一件事是机器似乎有点慢了(特别是当我尝试在任何程序中打开文件对话框时 - 现在需要大约 5 秒钟才能打开,而不是立即打开)。
任何想法都将不胜感激!也许是时候重新格式化了(已经一年左右了)。
编辑:不知道 SuperUser。看来这个问题在那里更合适!
编辑 2:这里有人有想法吗?
答案1
检查您的系统环境 COMSPEC。它应该是类似于 %SystemRoot%\system32\cmd.exe 的内容。如果它因某种原因被更改,bat 文件将无法通过双击运行。
答案2
您正在“特权空间”中运行批处理文件。Microsoft 已意识到这一事实,您需要相应地解决此问题。
大多数病毒和恶意软件都会利用 OS Drive 的根目录。
您需要做的是创建一个文件夹并将批处理文件移到其中。
测试目录:
另外,在“服务器世界”中,将应用程序安装/运行在与操作系统相同的驱动器上实际上被认为是一种不好的做法。消费类笔记本电脑/台式机没问题,但在服务器领域,这是一种不好的做法。例如,如果您的 Web 服务器或数据库要运行错误的进程,并且日志空间要填满驱动器,那么它实际上可能会杀死操作系统。
这只是我的几点想法。
谢谢。
答案3
我从另一台电脑复制了“cmd.exe”文件并将其粘贴到 windows/system32/ 文件夹中。这解决了我的问题。