2012-05-02 15 views
13

तो मैं है एक कमांड मैं जो की तरह लग रहा चलाना चाहते हैं चलाता है निम्नलिखित:devenv.exe का उपयोग कर आदेश के लिए बहुत जल्दी

for /r %n in ("*.vdproj") do "C:/Program Files/Microsoft 
Visual Studio 10.0/Common7/IDE/devenv.exe" %n /build "BuildServer" 

यह में काम करने के लिए है कि यह प्रत्येक .vdproj फ़ाइल पर devenv चलाता है लगता है, हालांकि, ऐसा लगता है कि उन्हें समानांतर में चलाया जाता है और तुरंत वापस आ जाता है। यह एक समस्या है; मुझे तब तक इंतजार करना होगा जब तक कि वे .bat फ़ाइल रन में अगले चरण से पहले समाप्त नहीं हो जाते हैं। कैसे कर सकते हैं मैं या तो

1- जब तक devenv.exe सब बाद में पर जाने से पहले किया जाता है अगले एक

या

2- प्रतीक्षा चलाने से पहले खत्म करने के लिए प्रत्येक devenv पर 'इंतजार' के लिए जाओ?

+0

(क्या आप% n% नहीं चाहते हैं, या यह भी %% n %% है?) और 2 चीजें। क्या आप वाकई devenv.exe वास्तव में कुछ कर रहे हैं या यह तुरंत विफल रहा है, जिससे आपको यह इंप्रेशन मिल रहा है कि यह आपकी सूची समानांतर में चल रहा है? यानी क्या आपने कमांडलाइन से लूप (फॉरलोप के बिना) के केवल एक पुनरावृत्ति को निष्पादित करने का प्रयास किया था, जो आपके% n के लिए ज्ञात, मौजूदा डीआईआर/फ़ाइल मानों को भर रहा था? 2. कार्य प्रणाली द्वारा क्रमबद्ध कार्य प्रबंधक पर प्रक्रिया टैब का उपयोग करें, यह देखने के लिए कि क्या आप अपने सिस्टम पर devenv.exe के चल रहे गड़बड़ को देखते हैं या नहीं। इससे साबित होगा कि मेरा प्रश्न # 1 प्रासंगिक नहीं है। सौभाग्य। – shellter

+0

यदि मैं टास्क मैनेजर को देखता हूं, तो मुझे पूरी तरह से Devenv.exe चल रहा है, और ऐसा लगता है कि वे पूरा होने और अंततः बंद होने लगते हैं। – GWLlosa

उत्तर

1

start का उपयोग करके devenv.exe को आमंत्रित करें, उदा।

start /wait "" "C:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/devenv.exe" %n /build "BuildServer" 

उपयोग के लिए start /? का उपयोग करें।

+0

मैंने कोशिश की, लेकिन यह अभी भी तुरंत लौट आया ... यकीन नहीं है कि इसका कारण यह है कि क्योंकि डेवेन अपने लॉन्च-ऑन-सेपरेट थ्रेड और गेम या कुछ लौटाता है, लेकिन शुरू/प्रतीक्षा/बी बिल्कुल काम नहीं करता है। – GWLlosa

+0

दिलचस्प। मेरे सिर के ऊपर से एक और कामकाज, डेवेनव को बाईपास करना और सीधे इसके बजाय एमएसबिल्ड का आह्वान करना है। – Sorpigal

+0

दुर्भाग्यवश, यह msbuild के लिए कामकाज है ... MSBuild.exe .vdproj (इंस्टॉलर/मर्ज मॉड्यूल) परियोजनाओं को सीधे संभाल नहीं सकता है। – GWLlosa

33

चाल devenv.exe के बजाय devenv.com का उपयोग करना है। devenv.com आउटपुट को कंसोल पर वापस कर देगा और वांछित परिणाम प्राप्त करेगा।

+0

क्या होगा यदि यह 64 बिट मशीन है? – dbenham

+0

तो यह शायद प्रोग्राम फ़ाइलें (x86) है। – GWLlosa

+0

मैं इस तथ्य का जिक्र कर रहा था कि 64 बिट विंडोज़ .com फाइल नहीं चलाता है। – dbenham

संबंधित मुद्दे