यदि आप बैच फ़ाइल का वर्तमान स्थान जानना चाहते हैं (और यदि आपका विंडोज बहुत प्राचीन रिलीज़ नहीं है), तो for /?
'डॉस बॉक्स' विंडो में टाइप करें । नीचे स्क्रॉल करें। पढ़ें।
आपको पता चलेगा, कि आप अब ( बैच फ़ाइल के भीतर से ) इन चरों को पढ़ सकते हैं :
%0 - as the name how this batchfile was called
%~d0 - as the drive letter where this batchfile is located ('\\' in case of share)
%~p0 - as path (without the drive letter) where this batchfile is located
%~n0 - as filename (without suffix) of this batchfile
%~x0 - as filename's suffix (without filename) of this batchfile
%~a0 - as this batchfile's file attributes
%~t0 - as this batchfile's date+time
%~z0 - as this batchfile's filesize
%~dpnx0 - as this batchfile's fully qualified path+filename
[... and then some more ...]
यह कई मामलों के लिए काम करता है। मान लें, बैचफाइल कहा जाता है mytest.bat
। आप इसे विभिन्न तरीकों से कह सकते हैं:
..\..\to\mytest.bat
…………………………… (सापेक्षिक पथ)
d:\path\to\mytest.bat
........................... (पूर्ण पथ)
\\fileserver\sharename\mytest.bat
... (रिमोट शेयर पर पथ)
... और आपको अपने चरों में हमेशा सही मूल्य मिलेगा।
cd | sed "s/.*\\//"
(जो कि cd (cwd) के आउटपुट को एक नियमित अभिव्यक्ति खोज में बदल देता है और प्रतिस्थापित कर देता है, अंतिम \