Getting Short-Filename of Command-Line Argument from Batch-File -


बैच फ़ाइल में निम्न कमांड अपेक्षित / उम्मीद के अनुसार काम नहीं करता:

< कोड> इको% ~ एनएक्सएस 1


यहां मैं जो प्राप्त करने की कोशिश कर रहा हूं उसका नमूना प्रदर्शन है:

  C : \ & Gt; टाइप करें test.bat @dir / b% 1 @echo% ~ nxs1 C: \ & gt; परीक्षा "सी: \ दस्तावेज़ और सेटिंग्स \ सभी उपयोगकर्ता \ ntuser.dat" ntuser.dat NTUSER.DAT C: \ & gt ; परीक्षा "सी: \ दस्तावेज़ और सेटिंग्स \ सभी उपयोगकर्ता \ ntuser.data" ntuser.data NTUSER ~ 1.DA ~ C: \ & gt; परीक्षण "सी: \ दस्तावेज़ और सेटिंग्स \ सभी उपयोगकर्ता \ ntuser.dat.baz" ntuser .dat.baz NTUSER ~ 1.BAZ सी: \ & gt; परीक्षण "सी: \ दस्तावेज़ और सेटिंग्स \ सभी उपयोगकर्ता \ foo.bar.baz" फ़ाइल नहीं मिली foo.bar.baz (या FOO ~ 1.BAZ या जो भी हो,  

इसके बजाय मैं जो कुछ प्राप्त करता हूं, वह निम्नलिखित जैसा होता है (नियुक्त लघु फ़ाइलनामों के आधार पर):

  सी: \ & gt; टाइप करें test.bat @dir / b% 1 @echo% ~ nxs1 सी: \ & gt; परीक्षा "सी: \ दस्तावेज़ और सेटिंग्स \ सभी उपयोगकर्ता \ ntuser.dat "ntuser.dat s \ ntuser.dat C: \ & gt; परीक्षण" सी: \ दस्तावेज़ और सेटिंग्स \ सभी उपयोगकर्ताओं \ ntuser.data "ntuser.data s \ ntuser.data C: \ & gt; परीक्षण "सी: \ दस्तावेज़ और सेटिंग्स \ सभी उपयोगकर्ता \ ntuser.dat.baz" ntuser.dat.baz z सी: \ & gt; परीक्षा "सी: \ दस्तावेज़ और सेटिंग्स \ सभी उपयोगकर्ता \ foo.bar.baz" फ़ाइल नहीं मिली S \ foo.bar.baz  



मूल रूप से, मुझे एक बैट फ़ाइल में एक फ़ाइल नाम देना होगा और स्क्रिप्ट प्राप्त करना होगा (उदाहरण के लिए प्रदर्शित) इसे एक लघु-फ़ाइल नाम के रूप में, लेकिन केवल फ़ाइल नाम और एक्सटेंशन, कोई ड्राइव या पथ नहीं है।

के लिए के लिए सहायता जानकारी % ~ fsI < / Strong> एक उदाहरण के रूप में, लेकिन उसमें एक छोटा-फ़ाइल नाम के रूप में संपूर्ण पथ है, न कि केवल फ़ाइल। क्या किसी को पता है कि पूरे पथ को बिना % ~ से एस पैरामीटर को कैसे गठबंधन करना है?


बहुत बहुत धन्यवाद।



अपडेट

  1. मैं नहीं हूं एक अलग भाषा में किसी समाधान की तलाश में, मुझे काम करने के लिए बैट कमांड की आवश्यकता है।

  2. ऐसा लगता है कि यह दूसरों के लिए काम करता है, इसलिए मुझे यह देखने की जांच हो रही है कि क्या यह किसी प्रकार का है वैकल्पिक कॉन्फ़िगरेशन समस्या का मैं वर्तमान में यह देखने के लिए परीक्षण कर रहा हूं कि क्या कमांड प्रोसेसर एक्सटेंशन का कारण हो सकता है।

  3. यदि एक्सटेंशन अक्षम हैं (स्पष्टतः), तो मैं जा रहा हूँ इस परिकल्पना पर कि यह एक बग है जिसे बाद के सर्विस पैक में तय किया गया था (जिस पर मैं परीक्षण किया गया सिस्टम XP SP1 है)। मैं आज SP2 और SP3 का परीक्षण कर रहा हूं ...

यह। मैंने स्क्रिप्ट का उपयोग सीएमडी.एक्सईई एक्सपी एसपी 1, एसपी 2, और एसपी 3 के साथ ही एक एसपी 2 वीएम इंस्टॉलेशन से किया है। यह एसपी 1 संस्करण के साथ उपरोक्त गलत परिणाम देता है, लेकिन एसपी 2 और एसपी 3 के संस्करणों में सही तरीके से काम करता है। तो यह वाकई एक बग है जो तय हो गया था। किसी और के लिए जो इस पर चलता है, एसपी 2 + से सीएमडी.एक्सई फ़ाइल को बिना किसी समस्या के एसपी 1 इंस्टॉलेशन में छोड़ा जा सकता है (यह सोचते हुए कि एक अपडेट संभव नहीं है)।


Comments

Popular posts from this blog

c++ - QtQuick: QQmlApplicationEngine failed to load component qrc:/main.qml:23 Invalid attached object assignment -

sql - dynamically varied number of conditions in the 'where' statement using LINQ -

php - What is the best way to get the URL of a 404'd file after redirect? -