में ड्राइव अक्षर हार्डकोड किए बिना नेटवर्क ड्राइव मैप करना मुझे बैच फ़ाइल के साथ एक नेटवर्क ड्राइव मैप करने की आवश्यकता है, लेकिन ड्राइव अक्षर निर्दिष्ट नहीं करना चाहते हैं।बैच फ़ाइल
बैच फ़ाइल को तैनाती प्रक्रिया के हिस्से के रूप में उपयोग किया जाता है; मैं CruiseControl.Net
से बैच फ़ाइल को कॉल करता हूं, बैच फ़ाइल को यूएनसी पथ को मैप करने की आवश्यकता होती है जिसके लिए प्रमाणीकरण के लिए प्रमाण-पत्र की आवश्यकता होती है। फिर बैच फ़ाइल RoboCopy
को आउटपुट निर्देशिका से गंतव्य तक वेबसाइट पर तैनात करने के लिए कॉल करती है (और कुछ फ़ाइलों और फ़ोल्डर्स को छोड़कर)। अंत में बैच नेटवर्क ड्राइव हटा देता है।
समस्या यह है कि यह स्केलेबल नहीं है, यह ठीक है जब केवल कुछ परियोजनाएं हैं लेकिन अब हमें इस दृष्टिकोण का उपयोग करके 20 परियोजनाएं मिली हैं और मानचित्र के लिए ड्राइव अक्षरों से बाहर चल रही हैं। मैं ड्राइव अक्षरों का पुन: उपयोग नहीं करना चाहता क्योंकि वे टकरा सकते हैं - जो खराब होगा।
इस बैच फ़ाइल का एक उदाहरण है:
@echo off
net use x: \\192.168.0.1\Share\wwwroot\MyProject /user:mydomain\myuser MyP455w0rd
robocopy.exe "W:\wwwroot\MyProject" x:\ *.* /E /XO /XD "App_Data/Search" "*.svn" /XF "sitefinity.log" "Thumbs.db" /NDL /NC /NP
net use x: /delete
और पठनीयता के लिए स्वरूपित:
@echo off
net use x: \\192.168.0.1\Share\wwwroot\MyProject
/user:mydomain\myuser MyP455w0rd
robocopy.exe "W:\wwwroot\MyProject" x:\ *.* /E /XO /XD
"App_Data/Search" "*.svn" /XF "sitefinity.log" "Thumbs.db" /NDL /NC /NP
net use x: /delete
वहाँ एक साथ जुड़े कई नेटवर्क शेयरों का एक मौका है, अन्यथा मैं हमेशा ज़ेड असाइन कर सकता हूं: या प्रति परियोजना हार्डकोडेड पत्र। शुद्ध उपयोग */हटाएं सभी जुड़े हुए शेयर भी जारी करेंगे और यह सर्वर –
@ सिमॉन मार्टिन पर एक समस्या होगी: मेरा अद्यतन उत्तर देखें। –
जो मेरे समाधान से बहुत अच्छा है :) –