c++ 执行bat脚本(bat里面调用系统命令pnputil.exe)失败

我用 ShellExecute(NULL, L"open", _T("install.bat"), NULL, dirStr, SW_SHOWNORMAL);
install.bat里面 pnputil.exe找不到路径,如果直接执行install.bat的话pnputil.exe就能执行成功

c++

4个回答

1.build成64bit exe调用
2.用重定向,将文件系统关闭重定向,32bit程序调用64bit下文件。
http://blog.csdn.net/xiliang_pan/article/details/8031408

我发现pnputil.exe受C++编译的exe文件有关系,如果系统是64bit,那么32bit exe程序就无法执行pnputil

install.bat中用绝对路径调用pnputil.exe试试

greless
Greless 还是不行
3 年多之前 回复

尝试其他方法
1.install.bat里面我用xcopy C:\Windows\System32\pnputil.exe %~dp0 /Y /H也不能把他复制出来。直接执行就能
2.代码里用CopyFile也不能,但是复制notepad.exe就能成功,为什么pnputil.exe这个工具哪儿限制了呢
LPCWSTR source= _T("C://Windows//System32//pnputil.exe");//源文件
LPCWSTR destination = _T(".//pnputil.exe");//目标文件
CopyFile(source, destination, FALSE);//false代表覆盖,true不覆盖

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问