मैं कैसे जांच सकता हूं कि एक बैच स्क्रिप्ट से निष्पादित उपयोगकर्ता द्वारा निर्देशिका लिखने योग्य है या नहीं?यह जांचने का सबसे अच्छा तरीका है कि निर्देशिका बीएटी स्क्रिप्ट में लिखने योग्य है या नहीं?
यहाँ क्या मैं अब तक की कोशिश की है:
> cd "%PROGRAMFILES%"
> echo. > foo
Access is denied.
> echo %ERRORLEVEL%
0
ठीक है, तो कैसे के बारे में ...
> copy NUL > foo
Access is denied.
> echo %ERRORLEVEL%
0
ऐसा नहीं है कि या तो? फिर इसके बारे में ...
> copy foo bar
Access is denied.
0 file(s) copied.
> echo %ERRORLEVEL%
1
यह काम करता है, लेकिन फ़ाइल मौजूद नहीं है तो यह टूट जाती है।
मैंने आंतरिक आदेशों के बारे में कुछ पढ़ा है जो ERRORLEVEL को सेट नहीं कर रहा है, लेकिन copy
जाहिर है कि आखिरी मामले में ऐसा लगता है।
ओह हाँ ... विंडोज़ वातावरण आपको इसके साथ पेश करेगा। कई आदेश% errorlevel% सही ढंग से वापस नहीं करते हैं ... साथ ही साथ कई स्थापित अनुप्रयोग जो कमांड लाइन तर्क का उपयोग करते हैं। = डी – Mechaflash
हाहा, हाँ ... पतली कहानियों वाली बर्फ का उल्लेख न करें जो उद्धरण और रिक्त स्थान वाले पथ हैं। मैंने 8.3 पथनामों का उपयोग करने का प्रयास किया है। ;) – batshcrazy
आपको एसओ बहन साइट में इस प्रश्न के साथ अधिक भाग्य मिल सकता है .. सुपरसियर।कॉम – inspite