मैं विंडोज में एक फ़ोल्डर या फ़ाइल 'CON' क्यों नहीं लिख सकता?


27

विंडोज के सभी संस्करणों में, हम एक फ़ाइल या एक फ़ोल्डर नाम का नाम बदलने में असमर्थ हैं CON बिना थर्ड-पार्टी फ़ाइल का नाम बदलने वाले सॉफ़्टवेयर। विंडोज 7 में ऐसा करने की कोशिश में एक त्रुटि हुई:

निर्दिष्ट डिवाइस नाम अमान्य है।

के रूप में एक फ़ाइल को बचाने की कोशिश कर रहा है con.txt नोटपैड में एक समान त्रुटि होती है:

यह फ़ाइल नाम Windows द्वारा उपयोग के लिए आरक्षित है।
कोई दूसरा नाम चुनें और पुनः प्रयास करें।

हम फ़ाइल या फ़ोल्डर का नाम क्यों नहीं दे सकते CON विंडोज में?


जवाबों:


32

"con" एक सिस्टम I / O डिवाइस का नाम है, जो कंसोल है।

  • चोर
  • ग़लती होना
  • नुल

और कुछ अन्य, मुझे लगता है।

पुराने दिनों में डॉस में एक फाइल बनाना आम बात थी (और मैं अभी भी कभी-कभार ऐसा करता हूं):

C:\>copy con foo.txt
I'm typing some text here.
^Z
    1 file(s) copied.
C:\>

एक मामूली सुधार: गलती आरक्षित नहीं है। आरक्षित डिवाइस नामों की पूरी सूची है: con, nul, prn, com1..9 और lpt1..9। वे तब भी आरक्षित होते हैं जब किसी एक्सटेंशन के साथ उपयोग किया जाता है (उदा। con.txt )।
efotinis

"जब तक हम एक नाम बदलने वाले सॉफ़्टवेयर का उपयोग नहीं करते हैं" उद्धृत भाग के बारे में, "नाम बदलने वाले सॉफ़्टवेयर" को कैसे मिलता है, यह अनिवार्य रूप से एक ओएस सीमा रेखा है।
Sathyajith Bhat

1
आप समझ गए। मुझे संदेह है कि कोई भी "नाम बदलने वाला सॉफ़्टवेयर" भी कर सकता है। लेकिन अगर यह हो सकता है, तो मैं फ़ाइल को खोलने या स्थानांतरित करने में सक्षम होने के बारे में चिंतित हूं। जैसा कि आपने कहा, OS इसे जारी करने जा रहा है।
JMD

11
मास्टर सूची में है msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx फ़ाइल के नाम के लिए निम्नलिखित आरक्षित डिवाइस नामों का उपयोग न करें: CON, PRN, AUX, NUL, COM1, COM3, COM3, COM4, ​​COM5, COM6, COM6, COM7, COM8, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5 , LPT6, LPT7, LPT8 और LPT9। एक्सटेंशन द्वारा तुरंत इन नामों से भी बचें; उदाहरण के लिए, NUL.txt अनुशंसित नहीं है।
shf301

1
@ सत्य: प्रयोग करके the \\? \ उपसर्ग फ़ाइल नाम पार्सिंग को बायपास करने के लिए। उदाहरण के लिए, "\\? \ C: \ con \ nul.txt"।
grawity

12

CON विंडोज में एक आरक्षित नाम है। तो हैं PRN, AUX, NUL, LPT1 और दूसरे।


2
Con कंसोल के लिए छोटा है। एक कमांड प्रॉम्प्ट विंडो खोलें, एक टेक्स्ट फ़ाइल के साथ एक डायरेक्टरी में नेविगेट करें और "copy file.txt con" टाइप करें। यह टेक्स्ट फाइल की सामग्री को कंसोल (कमांड प्रॉम्प्ट विंडो) में लिख देगा।
Keltari

11

मैंने एक डुप्लिकेट का जवाब दिया, और सोचा कि मैं इसे आपके संदर्भ के लिए यहां पोस्ट करूंगा:

जैसा कि पहले कहा गया। यह कंसोल डिवाइस के लिए MS-DOS में पीछे से आरक्षित शब्द है, (जहाँ तक मुझे याद है)। परंतु, आप अपने लिए फ़ोल्डर बनाने के लिए विंडोज़ / डॉस को मजबूर कर सकते हैं । उपकरणों के लिए, यह प्रारूप का उपयोग करता है \\.\[RESERVED_WORD] "फ़ाइल" तक पहुँचने के लिए (इन उपकरणों ने संचार के लिए फ़ाइलों का उपयोग किया)। करने के बजाय अपने फ़ोल्डर बनाने के लिए विंडोज़ को मजबूर करने के लिए mkdir [RESERVED_WORD], निम्न कार्य करें:

mkdir \\.\[absolute path to folder of choice, including drive letter]\[RESERVED_WORD]

उदाहरण के लिए, मेरे डेस्कटॉप पर CON फ़ोल्डर बनाने के लिए,

mkdir \\.\C:\Users\me\Desktop\CON

फ़ोल्डर को हटाने के लिए, आपको इसे उसी तरह से संदर्भित करना होगा, अन्यथा यह काम नहीं करेगा।

rmdir \\.\C:\Users\me\Desktop\CON

मेरी सलाह हालांकि सिर्फ एक अलग नाम का उपयोग करना है। हमेशा अपने संपूर्ण पथ के माध्यम से इसे संदर्भित करना बहुत मुश्किल होगा, खासकर यदि आप एक ऐप विकसित कर रहे हैं जिसे आप तैनात करने की योजना बनाते हैं।


4

ऐसा इसलिए है क्योंकि इसका उपयोग "आंतरिक उपकरणों" का प्रतिनिधित्व करने के लिए किया जाता है। हालाँकि, आप कमांड प्रॉम्प्ट में निम्न कमांड का उपयोग करके इस फ़ोल्डर को बना सकते हैं:

C:\>md \\.\e:\con

यह फ़ोल्डर राइट क्लिक के माध्यम से हटाया नहीं जा सकता है, हटाएं। आपको निम्न कमांड (फिर से कमांड प्रॉम्प्ट में) का उपयोग करना होगा:

C:\>rd \\.\e:\con

स्रोत: http://yhisham.blogspot.in/2012/09/mystery-about-con-folder-in-windows.html


3

के अतिरिक्त पाब्लो सांता क्रूज़ का जवाब , यहां विंडोज़ द्वारा आंतरिक रूप से उपयोग किए जाने वाले कीवर्ड की पूरी सूची है और आरक्षित हैं। निम्नलिखित सभी मामले असंवेदनशील हैं

  • CON
  • PRN
  • AUX
  • COM1, COM2, COM3, COM4, ​​COM5, COM6, COM7, COM8, COM8, COM 9, COM0
  • LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, LPT0

आप उपयोग कर सकते हैं _con बजाय


2

आप किसी भी विशेष सॉफ्टवेयर का उपयोग किए बिना इसका नाम बदल सकते हैं, बस कमांड प्रॉम्प्ट:

उदाहरण के लिए:

C:\>echo Test > \\?\C:\con
C:\>type \\?\C:\con
Test
C:\>rename \\?\C:\con test.txt
C:\>type test.txt
Test

बाद \\?\ पूर्ण पथ निर्दिष्ट किया जाना चाहिए।


0

ठीक उसी तरह जैसे ऐसे पात्र हैं जिनका उपयोग किसी में नहीं किया जा सकता है फ़ाइल का नाम , वहाँ भी कई शब्द (पूरे फ़ाइलनाम) हैं जो उपयोग नहीं किए जा सकते क्योंकि वे आरक्षित हैं।


0

copy con पाठ फ़ाइल बनाने का एक पुरातन (MS-DOS) तरीका है। उदाहरण के लिए:

copy con output.txt

तो यह एक आरक्षित शब्द है और इसे विंडोज में एक फ़ोल्डर नाम के रूप में इस्तेमाल नहीं किया जा सकता है।


0

जैसा कि उल्लेख किया गया है, आप डिवाइस या फ़ाइल नामनाम का उपयोग करके कमांड लाइन पर आरक्षित नामों के साथ फ़ाइलों और फ़ोल्डरों को बना और जोड़ सकते हैं जैसे \\.\C:\NUL, लेकिन Windows Explorer के माध्यम से ऐसी फ़ाइल या फ़ोल्डर तक पहुँचने का प्रयास करने पर क्या होता है:

Error opening folder named NUL Error deleting folder named NUL

जब तक आप उपर्युक्त नाम स्थान वर्कअराउंड का उपयोग नहीं करते हैं, तब तक किसी सुरक्षित डिवाइस नाम के साथ किसी वस्तु तक पहुंच को उस नाम से निर्दिष्ट डिवाइस के संदर्भ में माना जाता है। ये त्रुटियां इसलिए होती हैं क्योंकि Windows उन पर काम करने का प्रयास कर रहा है जैसे कि वे सामान्य फ़ोल्डर थे, लेकिन आप नाम की डिवाइस नहीं खोल सकते NUL, CON, या अन्यथा एक फ़ोल्डर के रूप में - इसलिए Incorrect function त्रुटि (जो के समान है Inappropriate ioctl for device लिनक्स पर त्रुटि)।


3
आपने शब्दावली को थोड़ा मिश्रित किया है। \\.\… एक है Win32 युक्ति नाम स्थान , \\?\… एक है Win32 फ़ाइल का नाम (फ़ोल्डर्स के लिए भी) नाम स्थान , तथा \\compname\… एक है UNC ( नेटवर्क ) पथ
Synetech

@ सिंथेटेक: सही किया गया।
bwDraco
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.