![](/img/trans.png)
[英]cmd command is not recognized as > an internal or external command, operable program or batch file
[英]C# Process cmd.exe - 'hadoop' is not recognized as an internal or external command, operable program or batch file
好的,我先给您介绍一下情况。
所以现在的问题。
我正在使用C#Process和ProcessStartInfo类打开cmd.exe的实例,该实例是从hadoop服务器获取文件并使其在UI上可访问的。 (hadoop fs -get .....)。 但是由于某种原因,我从process.StandardError收集的错误返回以下错误:
“ hadoop”未被识别为内部或外部命令,可操作程序或批处理文件。
我检查了运行cmd进程的用户是服务器的管理员之一。
注意事项:命令提示符工作目录为“ C:\\ Windows \\ SysWOW64 \\ inetsrv”。 这是否意味着它是32位cmd? 也许这就是hadoop无法识别的原因? 我想到要复制这个问题。 (打开32位cmd提示符并为该管理员用户键入hadoop。但是hadoop命令成功运行)
我在这里不明白为什么这个高特权用户无法识别hadoop命令。
更新:
这似乎是一个类似的问题。 我会尝试的,并让您知道。
在IIS中运行时,Process.Start cmd.exe不会运行作为参数传递的cmd文件
好的,这不是同一个问题。 因为我能够打开并运行批处理文件。 但是cmd无法识别我已安装的命令。
所以问题来了,它实际上是从哪个版本的cmd开始的? 按版本,我的意思是其中未安装任何内容的cmd?
查看32位进程
询问c:\\ windows \\ System32时c:\\ windows \\ syswow64
要求c:\\ windows \\ sysnative时为c:\\ windows \\ system32
和64位进程
询问c:\\ windows \\ system32时,c:\\ windows \\ system32
询问c:\\ windows \\ syswow64时,c:\\ windows \\ syswow64
要求c:\\ windows \\ sysnative时产生错误
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.