windows程序popen无法识别mount 、umount 命令(NFS)

说明:windows添加nfs客户端功能后,C:\Windows\System32目录下会多出mount.exe、umount.exe、showmount.exe等几个程序,正常情况下win R执行cmd直接调用这几个命令即可。但是在vs编译的c++程序popen或者python脚本中却不能执行这些命令,会报错“mount不是内部或外部命令”,即使调用时加上C:\Windows\System32\mount.exe全路径也没用。

原因:程序执行时popen启动的是SysWOW64目录下的cmd.exe,而win R启动的是System32下的cmd.exe,两个版本的cmd环境不能互通。

解决方法:popen中利用C:\Windows\Sysnative\mount.exe全路径执行,Sysnative目录为64位系统专为程序调用32位程序所提供的的路口。(目录结构中看不到此目录)

猜你喜欢

转载自blog.csdn.net/jiujiederoushan/article/details/128411592