मेरा उद्देश्य: मैं एक सी ++ प्रोग्राम बनाना चाहता हूं जो डॉस कमांड का उपयोग कर सकता है। विकल्प: मैं बैच फ़ाइल बना सकता हूं और इसमें डॉस कमांड डाल सकता हूं। लेकिन इस फ़ाइल का उपयोग C++ प्रोग्राम से कैसे करें ...?हम सी ++ में बैच फ़ाइल का उपयोग कैसे कर सकते हैं?
उत्तर
शायद आप इस परिदृश्य में कौन सा उचित है यह जानने के लिए system
, ShellExecute
, और CreateProcess
कॉल देखना चाहते हैं।
system("mybatchfile.bat");
आप सी में सिस्टम कॉल ++ कार्यक्रम सभी आदेशों सी ++ प्रोग्राम उपयोगकर्ता से हो जाता है निष्पादित करने के लिए उपयोग कर सकते हैं।
सी/सी ++ से विंडोज पर बैच फ़ाइलों को चलाने के लिए दो विकल्प उपलब्ध हैं।
सबसे पहले, आप system (या विस्तृत वर्णों के लिए _wsystem) का उपयोग कर सकते हैं।
"प्रणाली समारोह आदेश दुभाषिया है, जो एक ऑपरेटिंग सिस्टम कमांड के रूप में स्ट्रिंग कार्यान्वित करने के लिए आदेश गुजरता है। प्रणाली COMSPEC और पथ वातावरण चर कि कमांड दुभाषिया फ़ाइल (फ़ाइल अध्यक्ष एवं प्रबंध निदेशक नामित पता लगाने के लिए संदर्भित करता है। विंडोज 2000 और बाद में EXE)। "
या आप सीधे CreateProcess का उपयोग कर सकते हैं।/सी प्लस का नाम:;:
नोट बैच फ़ाइलों के लिए कि सेट lpApplicationName cmd.exe को और lpCommandLine सेट निम्नलिखित तर्कों को
"एक बैच फ़ाइल को चलाने के लिए, आपको आदेश दुभाषिया शुरू करनी चाहिए बैच फ़ाइल। "
//example that makes and then calls a batch file
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
ofstream batch;
batch.open("mybatchfile.bat", ios::out);
batch <<"@echo OFF\n";
batch <<":START\n";
batch <<"dir C:\n";
batch <<"myc++file 2 >nul\n";
batch <<"goto :eof\n";
batch.close();
if (argc==2)
{
system("mybatchfiles.bat");
cout <<"Starting Batch File...\n";
}
}
डॉस लाना अंदर आदेश बैच स्क्रिप्ट एक अच्छा विचार की तरह लगता है। तो आप निश्चित रूप से system
कमांड का उपयोग कर सकते हैं।
लेकिन यदि आपके सी ++ प्रोग्राम को बैच स्क्रिप्ट के स्टडआउट की भी आवश्यकता है, तो आपको यह प्रयास करना चाहिए: _popen
या _wpopen
।
अधिक जानकारी और कोड नमूना के लिए MSDN पर जाएं।
- 1. क्या हम #ifdef __cplusplus के बिना सी फ़ाइल में बाहरी "सी" का उपयोग कर सकते हैं?
- 2. क्या हम संघ में सूचक का उपयोग कर सकते हैं?
- 3. क्या हम हाइबरनेट में संघ का उपयोग कर सकते हैं?
- 4. हम अपने सी ++ कोड के अंदर किसी भी सी लाइब्रेरी का उपयोग कैसे कर सकते हैं?
- 5. सी # आप एक अन्य बैच फ़ाइल का आउटपुट कैसे प्राप्त कर सकते हैं?
- 6. जब हम ClearAllPools विधि का उपयोग कर सकते हैं?
- 7. हम जावा में पॉइंटर्स का उपयोग क्यों नहीं कर सकते?
- 8. हम उद्देश्य सी में फ़ाइल को कैसे अनजिप कर सकते हैं?
- 9. क्या हम यूआरएल में उपयोग कर सकते हैं?
- 10. हम कैसे जांच सकते हैं कि फ़ाइल Win32 प्रोग्राम का उपयोग कर रही है या नहीं?
- 11. प्रतिबिंब। हम इसका उपयोग करके क्या हासिल कर सकते हैं?
- 12. क्या हम एएसपीनेट में ग्लोबल.एक्सएक्स का परीक्षण कर सकते हैं?
- 13. क्या हम संपूर्ण कॉन्फ़िगरेशन फ़ाइल एन्क्रिप्ट कर सकते हैं?
- 14. बैच फ़ाइल में आप SETLOCAL का उपयोग कैसे करते हैं?
- 15. हम टॉमकैट सर्वर का उपयोग कर जेएनडीआई को कैसे कॉन्फ़िगर कर सकते हैं?
- 16. हम इकाई फ्रेमवर्क में ऑब्जेक्ट फ़िल्टरिंग कैसे कर सकते हैं?
- 17. हम nstimer के बजाय क्या उपयोग कर सकते हैं?
- 18. क्या हम sandcastle तेज कर सकते हैं?
- 19. हम एसक्यूएल सर्वर में सबक्वायरी में सीटीई का उपयोग कैसे कर सकते हैं?
- 20. हम ड्रूपल पृष्ठों में एसएसएल कैसे कार्यान्वित कर सकते हैं?
- 21. हम एंड्रॉइड में स्वचालित चमक कैसे बंद कर सकते हैं?
- 22. आईफोन: क्या हम UIWebView का उपयोग कर पीडीएफ फ़ाइल खोल सकते हैं?
- 23. क्या हम एक फ़ाइल में हैशटेबल लिख सकते हैं?
- 24. हम सीएसएस शैली का उपयोग कर दो छवियों को कैसे ओवरलैप कर सकते हैं?
- 25. हम JBOSS से डेटाबेस कनेक्शन कैसे कॉन्फ़िगर कर सकते हैं?
- 26. हम म्यूटेक्स के स्थान पर गो में चैनल का उपयोग कैसे कर सकते हैं?
- 27. हम विंडोज़ में पर्ल का उपयोग करके एसएसएच को कैसे कॉन्फ़िगर कर सकते हैं?
- 28. हम वीबी.Net कंसोल एप्लिकेशन में टाइमर नियंत्रण का उपयोग कैसे कर सकते हैं?
- 29. हम सी या सी ++ कोड में सीधे एड्रेसिंग का उपयोग क्यों नहीं कर सकते?
- 30. क्या हम SiteEdit 200 का उपयोग कर Tridion में XML दस्तावेज़ों को संपादित कर सकते हैं?
क्या है :: :: CreateProcess (एल "cmd.exe" वास्तव में काम करता है? मुझे त्रुटि 2, ERROR_FILE_NOT_FOUND मिली। लेकिन, उसी कॉल में, यदि मैं 'एल" सी के साथ प्रतिस्थापित करता हूं: \\ Windows \\ System32 \\ cmd.exe "', तो यह चमत्कारी रूप से काम करता है ... – Liviu