बैच हटाएं: प्रवेश निषेध है


10

मैं delएक बैच फ़ाइल में कमांड के साथ समस्या कर रहा हूं । जब यह डिलीट स्टेप में हो जाता है तो मुझे संदेश "एक्सेस से वंचित है" मिलता है। मेरा बैच कमांड कुछ इस तरह दिखता है।

set destPath=\\Public01\Appl\CompOps\Jobs\

robocopy . "%destPath%" *.dtsx *.dev *.prod *.ppro /IS

pushd "%destPath%"
del *.dtsConfig
ren *.dev .
popd

यहां छवि विवरण दर्ज करें

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

मैंने प्रशासक के रूप में चलने की कोशिश की, लेकिन अभी भी वही मुद्दा है।

जवाबों:


7

एक मजबूर करने के लिए delहटाना केवल पढ़ने के लिए फ़ाइलों को आदेश, जोड़ने /Fझंडा।

जाहिरा तौर पर, केवल-पढ़ने के लिए एक फ़ाइल को आम तौर पर एक बैच फ़ाइल द्वारा हटाया नहीं जा सकता है, हालांकि इसे अभी भी विंडोज एक्सप्लोरर के माध्यम से हटाया जा सकता है । यह जांचने के लिए कि क्या आपकी फ़ाइल केवल-पढ़ने के लिए है, आप फ़ाइल पर राइट क्लिक कर सकते हैं और गुण चुन सकते हैं, या attrib <filename>कमांड प्रॉम्प्ट पर दर्ज कर सकते हैं । यह विभिन्न फ़ाइल विशेषताओं के अनुरूप अक्षरों की एक श्रृंखला दिखाएगा।

R = Read-only file
A = Archive file
S = System file
H = Hidden file

आप गुण विंडो में बॉक्स को अनचेक करके या कमांड चलाकर केवल रीड-ओनली टैग हटा सकते हैं attrib <filename> -R


दुर्भाग्य से जो समस्या को ठीक नहीं करता है, मैं आपके सुझाव को शामिल करने के लिए अपने प्रश्न को अपडेट करूंगा।
अग्रदल

कमांड pauseसे पहले डालने का प्रयास करें del, और फिर इसे रोकने के दौरान विंडोज एक्सप्लोरर के माध्यम से इसे हटाने का प्रयास करें।
सेंटवैकू डे

मुझे समाधान मिल गया, हालाँकि अगर आप अपने उत्तर को अपने समाधान के अलावा कुछ सुझावों को शामिल करने के लिए संपादित करना चाहते हैं तो मुझे इसका उत्तर के रूप में चिह्नित करने में खुशी होगी
agradl

ठीक है, क्या यह जानकारी अप्रत्यक्ष रूप से सहायक है? :)
सेंटवैकू

मुझे यकीन है कि यह तब से मददगार होगा जब मैं इस समस्या के बारे में महीनों से भूल
जाऊँगा

2

"डेल" कमांड के लिए उपलब्ध विकल्पों के साथ प्रयोग करने के बाद मुझे पता चला कि जिन फ़ाइलों को मैं हटाने की कोशिश कर रहा था, वे केवल-पढ़ने के लिए थीं। समस्या को हल करने के लिए मैं केवल-पढ़ने के लिए विशेषता को हटाने के लिए फ़ाइलों को संपादित कर सकता हूं, या / एफ विकल्प निर्दिष्ट कर सकता हूं।

फाइनल स्क्रिप्ट है

set destPath=\\Public01\Appl\CompOps\Jobs\

robocopy . "%destPath%" *.dtsx *.dev *.prod *.ppro /IS

pushd "%destPath%"
del /F *.dtsConfig
ren *.dev .
popd

सरल समाधान, लेकिन एक भ्रामक त्रुटि संदेश। उम्मीद है कि यह किसी और की मदद करता है।


यदि आप इसे केवल पढ़ सकते हैं, तो एक एक्सेस अस्वीकृत मेरे बारे में सही लगता है।
सर्फस

1

मेरे विंडोज 8.1 पीसी के लिए क्या काम किया:

सबसे पहले Windows Explorer को बंद करें:

प्रेस Ctrl+ Alt+ Delखोलने के लिए कार्य प्रबंधक ,, प्रक्रियाओं के लिए जाने लगता है Windows Explorer , राइट क्लिक करें, और अंत कार्य । चिंता मत करो अगर शुरू बार चला गया है और कुछ और। फ़ाइलों के बीच ट्रैवर्सिंग के लिए Alt+ का उपयोग करें Tab। फिर कार्य प्रबंधक में फ़ाइल पर क्लिक करें और नया कार्य चलाएँ , और टाइप करें cmd। यह आपको एक कमांड लाइन खोलेगा ।

टर्मिनल के अंदर :

यदि आपका संस्करण 32 बिट है, और यह मेरे मामले में है, तो यह प्रोग्राम फाइल्स (x86) में स्थित है , इसलिए आपको टाइप करना चाहिए:

cd "C:\Program Files (x86)\Git\git-cheetah"
regsvr32 /u git_shell_ext64.dll

यह अपंजीकृत के लिए था।

आप का उपयोग कर निर्देशिकाओं के बीच पार cd directorynameकर सकते हैं और आप एक निर्देशिका वापस प्राप्त कर सकते हैं cd ..। उस निर्देशिका में क्या है, यह देखने के लिए आप dirउस निर्देशिका में टाइप कर सकते हैं। फ़ाइल प्रकार हटाने के लिए:

del /F filename

इसके बाद फिर से टास्क मैनेजर खोलें , फाइल पर जाएं , फिर रन करें explorer। इस तरह आपको सामान्य डिस्प्ले मिलेगा। Git फ़ोल्डर पर जाएं, जिसे हम खाली करना चाहते थे और इसे बस हटा दें।

मुझे उम्मीद है कि यह अन्य लोगों के लिए काम करता है जो विंडोज 8.1 का उपयोग कर रहे हैं।

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