2011-10-29 11 views
6

मैंने अपनी परियोजना निर्देशिका में काम कर रहे एमएम फाइलों को प्राप्त करने के लिए addpath(pwd) का उपयोग किया। जब मैं खिड़की बंद करता हूं और एक नई विंडो शुरू करता हूं, तो जिस पथ को मैंने अभी जोड़ा है वह चला गया है। लेकिन फाइलें अभी भी चल रही हैं।आप ऑक्टेव (विंडोज़ पर) में अपना रास्ता कैसे प्राप्त करते हैं?

क्या यह मेरे रास्ते में है या नहीं? मैं उन निर्देशिकाओं को कैसे देखूं जिन्हें मैंने अपने पथ में जोड़ा है?

इसके अलावा, . पहली प्रविष्टि है जिसे मैं path से देखता हूं। क्या इसका मतलब है कि मुझे किसी भी निर्देशिका को जोड़ने की आवश्यकता नहीं है क्योंकि यह हमेशा मौजूदा निर्देशिका को हमेशा खोजेगा?

धन्यवाद।

उत्तर

9

असल में, हाँ।

आप addpath() का उपयोग कर खोज पथ में एक निर्देशिका जोड़ सकते हैं, लेकिन जैसा कि आप जानते हैं, यह केवल वर्तमान सत्र के लिए मौजूद है और जब आप ऑक्टेव को पुनरारंभ करते हैं तो रीसेट हो जाता है। यदि आप सत्रों के बीच जीवित रहने का मार्ग चाहते हैं, तो इसे अपने octaverc पर जोड़ें, एक स्क्रिप्ट फ़ाइल जो जब भी कोई नया सत्र शुरू हो जाता है। octaverc फाइल करने के लिए उदाहरण मार्ग है:

C:\Octave\3.2.4_gcc-4.4.0\share\octave\site\m\startup 

के बाद से . डिफ़ॉल्ट रूप से अपने रास्ते में है, सप्टक किसी भी समारोह फ़ाइलों इसकी आवश्यकता है कि के लिए अपने वर्तमान निर्देशिका खोज करेंगे। addpath(pwd) का उपयोग कुछ हद तक बेकार है यदि आप एक ही निर्देशिका में रहने जा रहे हैं। हालांकि, कुछ ऐसे मामले हैं जहां यह उपयोगी होगा, उदाहरण के लिए यदि आपके पास एक निर्देशिका है जिसमें आपके फ़ंक्शंस हैं, और दूसरा ऐसा डेटा जिसमें आप काम कर रहे हैं: आप फ़ंक्शंस निर्देशिका में प्रारंभ कर सकते हैं, addpath(pwd) करें, और उसके बाद cd डेटा निर्देशिका में जबकि अभी भी आपके कार्यों का उपयोग करने में सक्षम है।

2

आप बैच फ़ाइल बना सकते हैं, जो आपके निर्देशिका पथ के साथ ऑक्टेव शुरू करेगा। कृपया उदाहरण नीचे देखें:

octave-3.6.4.exe -p "C:\MyOctaveDiretory" 

-p means addpath() 
0
addpath(pwd); savepath(); 

हो गया।

+0

मुझे आशा है कि आप ध्यान दिया है कि आप केवल कि वह क्या कह रहा है का एक हिस्सा जवाब ... आप के साथ-साथ बाकी के साथ मदद कर सकते हैं? – yakobom

0

मुझे लगता है कि ऑक्टेव में एक बग है (मैं विंडोज़ पर संस्करण 4.0.3 का उपयोग करता हूं)। जब मैं वर्तमान पथ में एक नई फ़ाइल बनाता हूं, तो इसे ऑक्टेव ("त्रुटि: 'foo' पंक्ति 1 कॉलम 1 के नजदीक अपरिभाषित) द्वारा नहीं कहा जा सकता है। अगर मैं ऑक्टेव को पुनरारंभ करता हूं, तो यह काम करता है। यह ऐडपैथ (पीडब्ल्यूडी) चाल मुझे बहुत मदद करती है (इससे पहले कि मैंने असफल रूप से रीहाश() और सीडी कहीं और कोशिश की कोशिश की)।

आप एक ही समस्या थी, तो लक्षण का कारण हो सकता है:

  1. प्रारंभ सप्टक।
  2. newfile.m बनाएँ।
  3. नई फ़ाइल कॉल करें - विफल रहता है क्योंकि ऑक्टेव ने अपने अस्तित्व को पंजीकृत नहीं किया है।
  4. ऐडपैथ (पीडब्ल्यूडी) - ऑक्टेव इसे पंजीकृत करने का कारण बनता है।
  5. बंद ऑक्टेव
  6. ओक्टेव प्रारंभ करें - अब पथ से पीडब्ल्यूडी चला गया है, लेकिन newfile.m स्टार्टअप पर पंजीकृत है।
  7. कॉल newfile - काम करता है
संबंधित मुद्दे