कार्यकारी निर्देशिका

कम्प्यूटिंग में, एक प्रक्रिया की कार्यशील निर्देशिका तथा एक श्रेणीबद्ध फाइल सिस्टम की एक निर्देशिका है, यदि कोई  हो, तो प्रत्येक प्रक्रिया के साथ गतिशील रूप से जुड़ा हुआ है। इसे कभी-कभी वर्तमान कार्यशील निर्देशिका कहा जाता है, उदाहरण बीएसडी getcwd फ़ंक्शन, या केवल वर्तमान निर्देशिका हैं। तथा जब प्रक्रिया एक साधारण फ़ाइल नाम या सापेक्ष पथ (कंप्यूटिंग) का उपयोग करके एक फ़ाइल को संदर्भित करता है तो प्रक्रिया की कार्यशील निर्देशिका के सापेक्ष संदर्भ की व्याख्या की जाती है। जो उदाहरण के लिए कार्यशील निर्देशिका /rabbit-shoes के साथ एक प्रक्रिया जो foo.txt फ़ाइल बनाने के लिए कहती है,और फ़ाइल /rabbit-shoes/foo .txt बनाना समाप्त कर देती हैं ।

ऑपरेटिंग सिस्टम में
अधिकांश कंप्यूटर फ़ाइल सिस्टम में, प्रत्येक निर्देशिका में एक प्रविष्टि होती है, तथा जो सामान्यतः " ." निर्देशिका को ही इंगित करता है।

अधिकांश डॉस और यूनिक्स कमांड लाइन इंटरफेस के साथ-साथ माइक्रोसॉफ़्ट विंडोज़  कमांड लाइन दुभाषियों cmd.exe और  विंडोज पॉवरशेल  में, कार्यशील निर्देशिका को  CHDIR या cd(कमांड)  का उपयोग करके परिवर्तित किया जा सकता है।  यूनिक्स शैल में, pwd कमांड वर्किंग डायरेक्टरी का पूरा पाथनेम आउटपुट में भेजता है; DOS और विंडोज़ में समतुल्य कमांड CD या CHDIR है, जबकि यूनिक्स में, cd तर्क के के अतिरिक्त प्रयोग किया जाता है उपयोगकर्ता लेता है उसकी गृह निर्देशिका पर वापस ले जाता हैं।

पर्यावरण चर PWD (यूनिक्स/लिनक्स शैल में), या छद्म-पर्यावरण चर CD (छद्म-पर्यावरण चर) (विंडोज़  COMMAND.COM और cmd.exe में,परंतु OS/2 और DOS में नहीं हैं), या _CWD, _CWDS , _CWP और _CWPS (4DOS के तहत, 4OS2, 4NT आदि) स्क्रिप्ट में प्रयोग किया जा सकता है, क्योंकी किसी को बाहरी प्रोग्राम प्रारंभ करने की आवश्यकता न हो। Microsoft विंडोज़   फ़ाइल शॉर्टकट में कार्यशील निर्देशिका को संग्रहीत करने की क्षमता रखता है।

DR-DOS 7.02 और उच्चतर में COMMAND.COM,इको प्रदान करता है, जो इको कमांड का एक प्रकार है जो समाप्ति लाइनफीड को त्याग देता है। इसका उपयोग एक अस्थायी बैचजॉब बनाने के लिए किया जा सकता है,जो उपरांत के उपयोग के लिए CD जैसे पर्यावरण चर में कार्यशील निर्देशिका को संग्रहीत करता है, उदाहरण के लिए: ECHOS SET CD=> SETCD.BAT CHDIR >> SETCD.BAT CALL SETCD.BAT DEL SETCD.BAT वैकल्पिक रूप से, बहुउपयोगकर्ता डॉस और डीआर-डॉस 7.02 और उच्चतर के तहत, विभिन्न आंतरिक और बाहरी कमांड एक पैरामीटर /B का समर्थन करते हैं। यह सीधे कमांड लाइन इनपुट के लिए उपयुक्त होने के लिए कमांड के आउटपुट को संशोधित करता है या अन्य कमांड के लिए पैरामीटर का उपयोग किया जाता है । जहाँ CHDIR , की तरह एक डायरेक्टरी पाथ जारी करेगा CHDIR/B जैसा आदेश इसके अतिरिक्त  , क्योंकी CHDIR /B> RETDIR.BAT उपरांत में इस निर्देशिका में लौटने की अनुमति देने वाला एक अस्थायी बैचजॉब बना देगा।

वर्किंग डायरेक्टरी को $P टोकन द्वारा भी प्रदर्शित किया जाता है गहरी उपनिर्देशिका संरचनाओं के अंदर भी संकेत को छोटा रखने के लिए, DR-DOS 7.07 COMMAND.COM एक $W का समर्थन करता है केवल गहन उपनिर्देशिका स्तर प्रदर्शित करने के लिए टोकन होता है। इसलिए, जहां डिफ़ॉल्ट PROMPT $P$G का परिणाम f.e. में   या  ,एक प्रांप्ट PROMPT $N:$W$G   इसके अतिरिक्त  और   प्राप्त होगा।क्रमश: इसी तरह की सुविधा $W और $w का उपयोग करके 4DOS में भी जोड़ा गया था।

डॉस के तहत, सभी लॉजिकल वॉल्यूम की कार्यशील निर्देशिकाओं के पूर्ण पथ को आंतरिक रूप से एक सरणी-जैसी डेटा संरचना में संग्रहीत किया जाता है जिसे वर्तमान निर्देशिका संरचना (सीडीएस) कहा जाता है, जो सभी के लिए आवश्यक संख्या में स्लॉट रखने के लिए बूट समय पर गतिशील रूप से आवंटित किया जाता है। तार्किक ड्राइव या LASTDRIVE (CONFIG.SYS निर्देश द्वारा परिभाषित करते हैं।  यह संरचना प्रत्येक कार्यशील निर्देशिका के पूर्ण पथ पर 66 वर्णों की लंबाई-सीमा लगाती है, और इस प्रकार उपनिर्देशिकाओं की अधिकतम संभव गहराई को भी सीमित करती है। DOS Plus और DR DOS के पुराने संस्करण (DR DOS 6.0 तक, 1991 में BDOS 6.7 के साथ) ऐसी कोई सीमा नहीं थी   एक समवर्ती DOS- (और इस प्रकार CP/M-86-) व्युत्पन्न कर्नेल के शीर्ष पर एक PCMODE का उपयोग करके उनके कार्यान्वयन के कारण, जो आंतरिक रूप से उपनिर्देशिकाओं को निरपेक्ष पथ के अतिरिक्त मूल निर्देशिकाओं के सापेक्ष लिंक के रूप में व्यवस्थित करता है।  क्योंकी PalmDOS और DR DOS 6.0 और उपरांत में DOS प्रोग्राम के साथ बग अनुकूलता के लिए CDS का उपयोग करने के लिए उच्चतर स्विच का उपयोग किया गया था, उन्हें अन्य DOS में उपस्थित समान सीमाओं का सामना करना पड़ा था।

प्रोग्रामिंग भाषाओं में
अधिकांश प्रोग्रामिंग भाषा ऑपरेटिंग सिस्टम के फाइल सिस्टम फ़ंक्शंस के लिए एक एप्लिकेशन प्रोग्रामिंग अंतरफलक प्रदान करती हैं, जिसमें प्रोग्राम की वर्किंग डायरेक्टरी के सेट को परिवर्तित करने की क्षमता भी सम्मलित होती है।

C भाषा में, POSIX फ़ंक्शन सिस्टम कॉल को प्रभावित करता है जो कार्यशील निर्देशिका को परिवर्तित करता है। इसका तर्क नवीन निर्देशिका पथ के स्ट्रिंग डेटा प्रकार के एक साथ है, यह या तो पूर्ण या प्राचीन के सापेक्ष है। इसकी कार्यशील निर्देशिका को सेट करने के लिए इसे एक उपलब्ध प्रक्रिया द्वारा बुलाया जा सकता है।

अन्य भाषाओं में समान कार्य करता है। विजुअल बेसिक में इसे सामान्यतः. लिखा होती है।

विंडोज एपीआई या पॉज़िक्स सी फ़ंक्शन के विपरीत, न तो जावा प्रोग्रामिंग भाषा और न ही जावा वर्चुअल मशीन सीधे  समर्थन करती है एक दशक से अधिक समय तक परिवर्तन अनुरोध  खुला रहा था जबकि जावा के लिए जिम्मेदार टीम ने विकल्पों पर विचार किया,यद्यपि 2008 तक केवल सीमित समर्थन प्रस्तुत किए जाने के उपरांत अनुरोध को अस्वीकार कर दिया गया था पहले   और उपरांत में,.

यह भी देखें

 * होम निर्देशिका
 * मूल निर्देशिका
 * निर्देशिका
 * चुरोट (लिनक्स सिस्टम)
 * लोड ड्राइव (एक अलग,परंतु संबंधित अवधारणा)
 * लंबा फ़ाइल नाम (LFN)

बाहरी संबंध

 * Working Directory (wd) at Github – a software package that tracks commonly used directories in a bash session