最近我的 CMD shell(Windows 10)的行为发生了变化,但我不知道为什么。
以前,输入脚本名称 xxx.py 或 blabla.txt 时,会使用 python 运行脚本或使用文本文件打开记事本。最近,使用 CMD shell,不会返回任何内容,只会显示下一个提示。
我创建了一个测试,执行以下操作
c:\> echo "Bla!" >> test.abc
转到资源管理器中的文件,右键单击,将“test.abc”关联到 notepad.exe 然后
c:\> test.abc
什么都不做 – 只是转到下一个提示,没有错误,没有任何内容。(c:\> notepad test.abc
有效)
然而:
c:\> cmd /C test.abc
按预期打开记事本。
我尝试在平板电脑 (Windows 10) 上执行相同的操作 - 按照上述 3 个步骤,都可以在记事本中正确打开文件。 (在这两种情况下,assoc/ftype 和使用 DSIM 导出 defaultAppsAssociations 等创建的 xml 对于我的 abc 扩展名显示相同,因此 (我认为) 这不是问题)
我比较了两个平台上的用户设置/权限、cmd 快捷方式(%windir%\system32\cmd.exe)等等,看似没有区别。
虽然我当然可以使用“cmd /C”运行我的命令并“修复”它,但问题是目前有大量批处理文件毫无用处 - 因此,我更愿意理解并修复它,而不是规避这个问题。
我怀疑最近的更新或政策变化可能是原因 - 但我不知道要查找哪些注册表项。
关于为什么这个特定的 CMD shell 可能拒绝执行“命令”,而不是使用适当的应用程序启动它,您有什么想法吗?
识别 shell 使用的相关注册表项可能会有很大帮助(为什么“cmd /c test.abc”可以管理?)