微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Process.Start ()

如何解决使用 Process.Start ()

我有一个启动 ssh 命令的批处理文件。它使用 Windows 10 中包含的 OpenSSH 客户端 (c:\Windows\System32\OpenSSH\ssh.exe) 如果我双击资源管理器中的批处理文件,它工作正常。如果我从 cmd.exe 窗口运行它,它也可以正常工作。但是如果我从 C# 应用程序使用

运行它,它不会找到 ssh.exe
Process process = new Process ();
process.StartInfo.FileName = string_to_batch_file;
process.Start ();

如果我从 C# 应用程序启动它,问题的根源是 System32 下的“OpenSSH”目录不可见。如果我把

dir c:\Windows\System32\
pause

在批处理文件中并从资源管理器启动它,“OpenSSH”目录是可见的。如果我从 C# 应用程序启动它,则不是。

这种行为的原因是什么,我可以做些什么来解决这个问题?

解决方法

正如 Mofi 所建议的,这是一个 32 位/64 位问题。我以前没有想过。我刚刚将我的 C# 应用程序切换到 64 位。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。