मैं बैट फाइल के माध्यम से रिमोट पर डायरेक्ट्री ट्री कैसे हटाऊं?


1

मैंने प्रश्न देखा " मैं विंडोज 7 पर कंसोल के माध्यम से निर्देशिका पेड़ों को कैसे हटाऊं? " निम्नलिखित अपवादों के साथ एक ही काम करना चाहेंगे:

  • निर्देशिका बाहरी ड्राइव पर मौजूद है।
  • निर्देशिका के पथ में स्ट्रिंग में एक स्थान है।
  • मैं निश्चित रूप से एक बैच फ़ाइल में यह चाहता हूं, और कमांड लाइन पर नहीं।

तो मेरे लिए मैं के साथ काम कर रहा हूँ:

del /s /f /q p:\group_share\my share\*.*
for /f %%f in ('dir /ad /b p:\group_share\my share\') do rd /s /q p:\group_share\my share\%f

जाहिर है कि मैं इसे एक चर में रख सकता हूं:

set FULL_PATH="p:\group_share\my share\"

फिर:

del /s /f /q %FULL_PATH%*.*
for /f %%f in ('dir /ad /b %FULL_PATH%') do rd /s /q %FULL_PATH%%f

मैंने% FULL_PATH% ergo: "% FULL_PATH" के आसपास उद्धरण जोड़ने की कोशिश की है ... लेकिन मुझे यह मिल गया है:

The system cannot find the file specified.

वैसे, पहली पंक्ति काम करती है अगर मैं इसमें डालता हूँ: p: \ group_share \ my शेयर \ इसके साथ उद्धरण के साथ:

 del /s /f /q "p:\group_share\my share\"*.*

किसी ने मुझे एक सुझाव या कुछ करने की कोशिश कर सकते हैं? मैंने उद्धरण चिह्नों, किसी भी उद्धरण चिह्नों आदि के सभी प्रकार के क्रमांकन की कोशिश की है। धन्यवाद जियो

जवाबों:


1

आपको लगता है कि यह अनावश्यक रूप से जटिल हो रहा है - आपको इसकी आवश्यकता है: -

pushd %FULL_PATH%
rd /s /q .
popd

लक्ष्य निर्देशिका में ले जाकर आप my shareविलोपन से बचाते हैं । ध्यान दें कि cdऔर pushdउद्धरण की आवश्यकता नहीं है, क्योंकि वे केवल एक तर्क लेते हैं।

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