Configuration ';注册号';未被识别为内部或外部命令、可操作程序或批处理文件

Configuration ';注册号';未被识别为内部或外部命令、可操作程序或批处理文件,configuration,command-line,batch-file,Configuration,Command Line,Batch File,我正在一台服务器上运行一个批处理文件命令,该服务器使用reg query查找机器(AMD64或x86)的procesor_体系结构 我得到了这个错误,有人知道可能是什么问题吗。 以及在特定服务器上运行此命令之前必须首先检查的所有内容 这是命令: reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE. 我不知道这是否有用。但操作系统是服务器上的

我正在一台服务器上运行一个批处理文件命令,该服务器使用reg query查找机器(AMD64或x86)的procesor_体系结构

我得到了这个错误,有人知道可能是什么问题吗。 以及在特定服务器上运行此命令之前必须首先检查的所有内容

这是命令:

reg query "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE.

我不知道这是否有用。但操作系统是服务器上的W2k高级SP 4。

“reg”似乎不在执行它的环境中的路径中。请尝试使用“reg”的完整路径。

Windows 2000尚未包含
reg.exe
。但是,您可以在环境变量中找到处理器体系结构:

> echo %PROCESSOR_ARCHITECTURE%
AMD64

重新阅读您的问题:见鬼,这正是您一直在尝试的,那么当您可以直接获取值时,为什么还要费心于复杂的方式呢?

当一名技术人员在脚本中使用名为“path”的批处理文件变量时,我看到了这一点。将PATH变量设置回C:\Windows\System32,这将修复reg.exe not found错误。

是否确定执行脚本的用户有权运行
reg
,即如果他们在命令提示下键入
reg
,是的,这不是权限问题。因为我可以使用相同的凭据运行链中的其他服务器集。路径问题?批处理中是否设置了路径环境?reg.exe通常位于\Windows\System32中。您可能需要将reg.exe安装到win2k服务器:这不是真的。Windows 2000有reg.exe,因为我在Windows 2000上运行了相同的查询,而不是在advanced上运行,并且查询成功。但我不知道高级SP4It在我的Windows 2000 Professional上不存在,当时我还有它。据我记忆所及,它是在一个资源工具包中提供的。无论如何,这不是重点。您正在从注册表中获取一些内容,这些内容可以作为环境变量使用。没有必要在这里查询注册表,因为您已经直接获得了值。我完全同意您的看法,Rossell。但是我错误地选择了查询注册表的错误路径,而不是使用环境变量。我没有考虑windows 2000服务器。