1. 程式人生 > >用ShellExecute執行cmd命令遇到的問題總結

用ShellExecute執行cmd命令遇到的問題總結

1、如果命令中的路徑包含空格,要把路徑去掉頭尾用雙引號包含起來。

例:strPath = “”D:\\\"te st\\\"test.exe;(用“\”進行字元轉義)

2、用變數傳命令的時候,要在命令字元開始加上"/c",不然命令不會執行。

例:strCommand = "/c " + "date";

ShellExecute(NULL, "open", "cmd", strCommand, NULL, SW_SHOW);

3、用SW_HIDE使cmd視窗靜默執行

例:ShellExecute(NULL, "open", "cmd", strCommand, NULL, SW_HIDE);

4、命令列執行結果可以使用">"來儲存到檔案。

例:ShellExecute(NULL, "open", "cmd", "/c date >D:\\test.txt", NULL, SW_HIDE);

5、通過對比輸出檔案進行結果分析。

6、strCommand不支援直接使用..\,要使用相對路徑可以用tempdir來實現。

例:假設text.txt在test.exe的上一層目錄中,ShellExecute(NULL, "open", "cmd", "/c D:\\test\\test.exe "tempdir\\..\\..\\text.txt >D:\\test.txt", NULL, SW_HIDE);

相關推薦

ShellExecute執行cmd命令遇到的問題總結

1、如果命令中的路徑包含空格,要把路徑去掉頭尾用雙引號包含起來。 例:strPath = “”D:\\\"te st\\\"test.exe;(用“\”進行字元轉義) 2、用變數傳命令的時候,要在命令字元開始加上"/c",不然命令不會執行。 例:strComman

windows下java執行cmd命令

gpedit.msc-----組策略 sndrec32-------錄音機 Nslookup-------IP地址偵測器 explorer-------開啟資源管理器 logoff---------登出命令 tsshutdn-------60秒倒計時關機命令 lusrmgr.msc

java調執行cmd命令

pla println output ces 執行cmd console null catch director 未經允許,禁止轉載!!! package practice; import java.io.BufferedReader; import java.io.F

程式設計實現執行CMD命令-照片檢視器開啟圖片

在C++中執行cmd指令的兩種方法: 方法1:system("rundll32.exe C:\\Windows\\System32\\shimgvw.dll,ImageView_Fullscreen D:\\Image\\ScreenShot.png");方法2:WinEx

【windows】windows的cmd命令輸入行快捷開啟windows自帶的相關的小程式軟體總結

用windows的cmd命令輸入行快捷開啟windows自帶的相關的小程式軟體總結(不斷總結): 首先:按住組合件win+R開啟如下視窗: 再在輸入框輸入下面的快捷命令回車後就能快速開啟相應的程式了。 1.notepad————記事本 2.mspaint————w

java執行cmd命令

spa dbca script dmgr share pub pdm meeting 碎片 從網上找的java執行cmd命令的文章,摘抄一段。 java的Runtime.getRuntime().exec(commandStr)可以調用執行cmd指令。cmd /c dir

ASP.Net執行cmd命令的實現代碼

als command tex exc spa red new tar send using System; using System.Collections; using System.Configuration; using System.Data;

java執行cmd命令並獲取輸出結果

cat result ring stream jarsigner blog gin org common 1.java執行cmd命令並獲取輸出結果 1 import java.io.BufferedReader; 2 import java.io.InputStrea

C++ 執行 cmd 命令 刪除文件 刪除註冊表項

執行 window pda ech current info 等待 bsp clu #include <Windows.h> WinExec("cmd /C \"del C:\\Windows\\secretWin.ini\"",SW_HIDE)

專案中執行cmd命令時報錯(provider load failure,UNKNOWN ERROR 0XFFFFFFFF)

專案中有用到關閉瀏覽器的操作,正常執行瀏覽器退出 driver.quiet()方法時有時會出現異常,不能正常退出。這樣瀏覽器再次啟動時,因為指定的資料資料夾相同,會導致啟動異常。 解決方法是每次退出瀏覽器時,在呼叫driver.quiet()之後,同時呼叫cmd命令來關閉瀏覽器程序,這樣就能

Java程式執行cmd命令

一:編寫程式實現執行cmd指令.       1.1 思路分析:使用Process的exec()將cmd的執行結果通過java的IO流輸出到IDE的控制檯即可.       Process

Qt 中執行cmd命令失敗,無許可權,需要提升程式以管理員執行 vs2013設定

程式中有些 地方 需要執行windows cmd 命令, 如 taskkill 程序命令 (QString c = "taskkill /im osk.exe /f";m_pProcess->execute(c);)  這種 命令是需要管理員身份的, 因此程式必須以管理員身份執行

windows批處理指令碼bat命令解析【10】如何執行cmd命令

說來慚愧,感覺這個本來就不是問題。 先公佈答案: 你在cmd黑視窗下輸入什麼,就把這行命令寫入到bat指令碼中,九江。 前面和後面什麼也不用加。 比如,要在cmd下通過node執行某個hello.js檔案,命令為 node hello.js 那麼在bat指令碼中,只需要作如下

JAVA執行cmd命令(包含執行批處理檔案)

如下是java執行cmd命令的程式碼,以作記錄: 內容包括執行單個cmd命令或者呼叫bat檔案的方法; import java.io.BufferedReader; import java.io.InputStreamReader; /** * 執行wind

golang執行cmd命令

[win32]下 原始命令 sc delete AIReciver (PS:這裡"/C",不能刪除) 還有命令取名儘量不要有空格,比如 sc delete AIReciver CC,這裡就會很要命了 直接上程式碼: func delRec() {

在IIS7.5中呼叫執行cmd命令生成檔案失敗

專案是這樣的,C++人員寫了一個dll,便於跨平臺呼叫,所以用的是控制檯介面傳參呼叫,目的是生成一個檔案。程式碼編寫完成後,本機沒問題,釋出到阿里雲伺服器始終呼叫不成功,而直接在cmd介面是可以呼叫執行成功的。程式碼主要如下: /// <summar

C# 呼叫命令執行Cmd命令

1.不知道為啥   process.StartInfo.Arguments = "/c" + "start D:/Tim/Bin/QQScLauncher.exe";  這個執行命令一定要加/c ,/c ,/c,重要的事說3遍 才能正常編譯並執行 cmd /c dir:是執

DOS視窗中直接執行cmd命令執行sql檔案

有時我們會在沒有裝有相應資料庫的情況下我們還是要去執行資料庫語句 , 這時的資料庫就是在別的電腦上,我們只需知道他資料庫的IP地址,使用者名稱,密碼和所需用到的資料庫名即可。 在dos下執行 :   cmd /c osql -S"127.0.0.1" -U"sa" -P

C#隱式執行CMD命令(隱藏命令視窗)

Process p = new Process();//設定呼叫的程式名,不是系統目錄的需要完整路徑 p.StartInfo.FileName = "cmd.bat";//傳入執行引數 p.StartInfo.Arguments = ""; p.StartInfo.UseShellExecute = fa

以不彈黑框的方式執行cmd命令

參考的這裡 但是有問題,主要是微軟拋棄了一些介面 修改如下 static DWORD RunSilent(char* strFunct, char* strstrParams) { S