मैं सभी परियोजनाओं को फिर से बनाने के लिए मजबूर करने के लिए सभी बिन और obj फ़ोल्डरों को हटाना चाहता हूं


262

मैं कई परियोजनाओं के साथ काम करता हूं, और मैं 'फ़ोल्डर' या 'obj' नाम के साथ सभी फ़ोल्डरों को फिर से हटाना चाहता हूं, इस तरह से मुझे यकीन है कि सभी परियोजनाएं सब कुछ फिर से बनाएंगी (कभी-कभी यह दृश्य स्टूडियो को मजबूर करने का एकमात्र तरीका है कि पिछले सभी के बारे में भूल जाएं। बिल्ड)।

क्या .NET प्रोग्राम लिखने के लिए इसे (उदाहरण के लिए .bat फ़ाइल के साथ) पूरा करने का एक त्वरित तरीका है?


25
अच्छा होगा यदि बिल्ड-> क्लीन सॉल्यूशन ने वास्तव में ऐसा किया हो।
डस्टिन एंड्रयूज

जवाबों:


411

यह उस शेल पर निर्भर करता है जिसका आप उपयोग करना चाहते हैं।

यदि आप विंडोज पर cmd शेल का उपयोग कर रहे हैं तो निम्न कार्य करना चाहिए:

FOR /F "tokens=*" %%G IN ('DIR /B /AD /S bin') DO RMDIR /S /Q "%%G"
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S obj') DO RMDIR /S /Q "%%G"

यदि आप एक बैश या zsh प्रकार के शेल (जैसे कि विंडोज या सबसे लिनक्स / OS X शेल पर गिट बाश या बाबुन) का उपयोग कर रहे हैं तो यह एक बहुत अच्छा, अधिक रसीला तरीका है जो आप चाहते हैं:

find . -iname "bin" | xargs rm -rf
find . -iname "obj" | xargs rm -rf

और इसे OR के साथ एक पंक्ति में घटाया जा सकता है:

find . -iname "bin" -o -iname "obj" | xargs rm -rf

ध्यान दें कि यदि आपकी फ़ाइल नाम निर्देशिका में रिक्त स्थान या उद्धरण हैं, तो खोजें उन प्रविष्टियों को जैसे-वैसे भेजती हैं, जिसे xargs कई प्रविष्टियों में विभाजित कर सकता है। यदि आपका शेल उनका समर्थन करता है, -print0और -0इस अल्प-आवक के आसपास काम करेगा, तो उपरोक्त उदाहरण बन जाते हैं:

find . -iname "bin" -print0 | xargs -0 rm -rf
find . -iname "obj" -print0 | xargs -0 rm -rf

तथा:

find . -iname "bin" -o -iname "obj" -print0 | xargs -0 rm -rf

यदि आप पॉवर्सशेल का उपयोग कर रहे हैं तो आप इसका उपयोग कर सकते हैं:

Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }

जैसा कि नीचे रॉबर्ट एच के जवाब में देखा गया है - यदि आप वोट-अप का चुनाव करते हैं तो कृपया सुनिश्चित करें कि आप उसे शक्तियुक्त उत्तर का श्रेय दें।

यह निश्चित रूप से बुद्धिमान होगा कि आप जिस भी कमांड को चुनें, उसे परीक्षण करने के लिए पहले कहीं सुरक्षित रखें!


5
आपके उत्तर के लिए thx मुझे एक त्रुटि मिली: %% G इस समय अप्रत्याशित था।
माइकल डी।

हम्म यह अजीब है - यह मेरी मशीन (विस्टा 64 बिट व्यवसाय) पर ठीक काम करता है - मैं इसे एक एक्सपी मशीन पर भी आज़माऊंगा।
स्टीव विलकॉक

48
"%% G इस समय अप्रत्याशित था" - यह तब होता है जब आप इसे बैच फ़ाइल के बजाय कमांड लाइन से चलाते हैं। इस मामले में एकल '%' का उपयोग करें।
डिजाइनपैटर्न

4
+1 क्या आप मेरे लिए कोड की व्याख्या करना चाहेंगे? कृप्या।
फाइबरऑप्टिक्स 3

2
@SteveWillcock यह स्वच्छ से बेहतर है। क्लीन उन dll को नहीं हटाएगा जो प्रोजेक्ट में अब संदर्भित नहीं हैं (बचे हुए)।
Piotr Szmyd

255

मुझे यह धागा मिला और बिंगो मिला। थोड़ा और खोज ने इस पावर शेल स्क्रिप्ट को बदल दिया:

Get-ChildItem .\ -include bin,obj -Recurse | ForEach-Object ($_) { Remove-Item $_.FullName -Force -Recurse }

मुझे लगा कि मैं साझा करूंगा, यह देखते हुए कि जब मैं यहां देख रहा था तो मुझे इसका जवाब नहीं मिला।


@ निगेल, क्या यह समाधान बेहद संयुक्त राष्ट्र का प्रदर्शन नहीं है? एक कस्टम सी स्क्रिप्ट क्यों नहीं लिखी गई जो 10x की गति से चल सके?
पचेरियर

37
आपको फॉर्च्यूनर की आवश्यकता नहीं है - आपको बस सीधे हटाने वाले आइटम (यानी, gci -include bin,obj -recurse | remove-item -force -recurse) में gci को पाइप करने में सक्षम होना चाहिए
क्रिस J

1
मुझे खोजपथ से फ़ोल्डरों को बाहर करने की भी आवश्यकता है, और मुझे -WhatIfपहले परीक्षण करने के लिए ध्वज पसंद है , इसलिए मैंने इसे समाप्त किया: $foldersToRemove='bin','obj';[string[]]$foldersToIgnore='ThirdParty';Get-ChildItem .\ -Include $foldersToRemove -Recurse|Where-Object{$_.FullName -inotmatch "\\$($foldersToIgnore -join '|')\\"}|Remove-Item -Force -Recurse -WhatIf(एक पंक्ति के रूप में यहां थोड़ा गड़बड़ है :))
जॉनी स्कोवडल

@ क्रिस अपने समाधान के साथ एक नया उत्तर जोड़ने पर विचार करें।
ग्रेनडाकर

66

यह मेरे लिए काम किया:

for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"

के आधार पर इस उत्तर superuser.com पर


1
महान, और विस्तार करने में आसान। मैं / d / r के लिए उपयोग करता हूं। %% d में (बिन, obj, App_Data, संकुल) do @if मौजूद हैं "%% d" rd / s / q "%% d"
रिकंडएमएसएफटी

3
@ParoX आपको इसे .bat फ़ाइल के अंदर चलाने की आवश्यकता है
James L

33

मैं हमेशा इसे प्राप्त करने के लिए अपने समाधान पर एक नया लक्ष्य जोड़ने के लिए उपयोग करता हूं।

<Target Name="clean_folders">
  <RemoveDir Directories=".\ProjectName\bin" />
  <RemoveDir Directories=".\ProjectName\obj" />
  <RemoveDir Directories="$(ProjectVarName)\bin" />
  <RemoveDir Directories="$(ProjectVarName)\obj" />
</Target>

और आप इसे कमांड लाइन से कॉल कर सकते हैं

msbuild /t:clean_folders

यह आपकी बैच फ़ाइल हो सकती है।

msbuild /t:clean_folders
PAUSE

यह एक sln फ़ाइल के लिए काम नहीं करता है क्योंकि आप उन पर कस्टम लक्ष्य नहीं बुला सकते हैं या क्या आप इसके लिए वर्कअराउंड जानते हैं
Piotr Owsiak

3
@PiotrOwsiak हां, आपको उसी डायरेक्टरी में जहां "आपके पास .slnFileName.sln.targets" से पहले फाइल बनाने की जरूरत है, जहां आप अपने .sln रखते हैं और अपनी लक्षित परिभाषाएं
डालते हैं

2
आप AfterTargets = "Clean" को लक्ष्य के लिए एक विशेषता के रूप में जोड़ सकते हैं, इसे स्वतः ही क्लीन के बाद कहा जाएगा जो कि पुनर्निर्माण के समय प्रत्यक्ष या अप्रत्यक्ष रूप से
मंगवाया गया है

29

मैंने इसे करने के लिए एक शिल्पी स्क्रिप्ट लिखी

लाभ यह है कि यह हटाए गए फ़ोल्डरों के सारांश को प्रिंट करता है, और यदि आप किसी भी सबफ़ोल्डर पदानुक्रम को अनदेखा करने के लिए निर्दिष्ट करते हैं तो उन्हें अनदेखा कर दिया जाता है।

आउटपुट उदाहरण


1
+1 बहुत अच्छा! बस पता चला कि हम वास्तव में विंडो पावर शेल में पूर्ण-डिबग डिबगर जैसे चर देख सकते हैं!
wiz -_- lee

मुझे यह समाधान पसंद है। मुझे विजुअल स्टूडियो के साथ खिलवाड़ नहीं करना है और मैं जब चाहूं इसे चला सकता हूं। बहुत अच्छा!
हेल्सिओन

मेरी जरूरतों को पूरी तरह से सूट करता है, लेकिन मुझे यकीन नहीं है कि यह एक पूर्ण विकसित रेपो के बजाय एक जिस्ट क्यों नहीं हो सकता है। :-)
डान एटकिंसन

अच्छा काम! मैं सभी निर्देशिका स्कैनिंग को छोड़ दूंगा क्योंकि जब आपके पास हजारों उपनिर्देशिकाएँ होंगी, तो यह काफी धीमी हो सकती है। बहुत अधिक कीमत सिर्फ आँकड़ों के लिए :-)। इसके अलावा, मैं चर परिभाषा में $_ -notmatch 'node_modules'शर्त $FoldersToRemove
जोड़ूंगा

16

मेरे लिए कुछ भी काम नहीं किया। मुझे डिबग और रिलीज़ के लिए सभी फ़ाइलों को बिन और ओबीजी फ़ोल्डर में हटाने की आवश्यकता थी। मेरा समाधान:

1. राइट क्लिक प्रोजेक्ट, अनलोड, राइट क्लिक दोबारा एडिट, बॉटम पर जाएं

2.Insert

<Target Name="DeleteBinObjFolders" BeforeTargets="Clean">
  <RemoveDir Directories="..\..\Publish" />
  <RemoveDir Directories=".\bin" />
  <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
</Target>

3. सहेजें, प्रोजेक्ट को पुनः लोड करें, राइट क्लिक क्लीन एंड प्रेस्टो।


13

स्वच्छ लक्ष्य के बाद कुछ ऐसा करना चाहिए

<Target Name="RemoveObjAndBin" AfterTargets="Clean">
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
    <RemoveDir Directories="$(TargetDir)" />
</Target>

7

प्रोजेक्ट फ़ाइल में जोड़ने से पहले बिन और obj हटाने के लिए:

<Target Name="BeforeBuild">
    <!-- Remove obj folder -->
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
    <!-- Remove bin folder -->
    <RemoveDir Directories="$(BaseOutputPath)" />
</Target>

यहाँ लेख है: निर्माण या तैनाती से पहले बिन और / या obj फ़ोल्डर को कैसे हटाएं


1
आप केवल एक पुनर्निर्माण पर यह करना चाहते हैं, यद्यपि। जब तक आप चाहते हैं कि हर निर्माण एक पुनर्निर्माण न हो!
जोश एम।

4

स्टीव के पॉवरशेल स्क्रिप्ट के समान। मैंने अभी-अभी TestResults और package को जोड़ा है क्योंकि यह अधिकांश परियोजनाओं के लिए आवश्यक है।

Get-ChildItem .\ -include bin,obj,packages,TestResults -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }

3

CleanProject पर एक नज़र डालें , यह बिन फ़ोल्डर्स, obj फ़ोल्डर्स, TestResults फ़ोल्डर्स और Resharper फ़ोल्डरों को हटा देगा। स्रोत कोड भी उपलब्ध है।


इस परियोजना के लिए यहाँ स्थानांतरित किया गया प्रतीत होता है: code.msdn.microsoft.com/windowsdesktop/…
जॉनी स्कोवडल

3

से , बिन और ReSharper फ़ोल्डरों obj को दूर करने के लिए Windows PowerShell का उपयोग करना

बहुत से मिलते-जुलते रॉबर्ट एच जवाब छोटा वाक्य रचना के साथ

  1. शक्तियां चलाना
  2. cd (dir बदलें) अपने प्रोजेक्ट फ़ोल्डर की जड़ में
  3. स्क्रिप्ट के नीचे पेस्ट करें और चलाएं

    dir। \ -include bin, obj, resharper * -recurse | foreach ($ ) {rd $ _। fullname –Recurse –Force}


3

rimrafNpm उपयोगिता का उपयोग करने के लिए एक बहुत ही त्वरित और दर्द रहित तरीका है , इसे पहले विश्व स्तर पर स्थापित करें:

> npm i rimraf -g

और फिर आपके प्रोजेक्ट रूट से कमांड काफी सरल है (जिसे स्क्रिप्ट फ़ाइल में सहेजा जा सकता है):

projectRoot> rimraf **/bin **/obj

इच्छित प्रभाव को अनुकूलित करने के लिए आप प्रोजेक्ट ईवेंट लक्ष्य (जिसका आप उपयोग कर सकते हैं BeforeRebuildऔर इसे पिछली कमांड चला सकते हैं) का उपयोग कर सकते हैं जो डॉक्स में निर्दिष्ट हैं: https://docs.microsoft.com/en-us/visualstudio/ MSBuild / कैसे करने वाली विस्तार-विजुअल स्टूडियो-निर्माण प्रक्रिया? दृश्य = बनाम 2017

मैं rimraf उपयोगिता पसंद है क्योंकि यह crossplat है और वास्तव में जल्दी है। लेकिन, RemoveDirयदि आप लक्ष्य ईवेंट विकल्प के साथ जाने का निर्णय लेते हैं, तो आप .csproj में कमांड का उपयोग भी कर सकते हैं । RemoveDirदृष्टिकोण अच्छी तरह @Shaman द्वारा यहाँ एक और जवाब में विस्तार से बताया गया था: https://stackoverflow.com/a/22306653/1534753


2

यहाँ एक ऐसा ही प्रश्न है जिसका उत्तर मैंने दिया है, सरल, आसान, बहुत अच्छा काम करता है और आपको विजुअल स्टूडियो के पास पहले से मौजूद किसी भी चीज़ की आवश्यकता नहीं है।

जैसा कि दूसरों ने पहले ही जवाब दिया है कि क्लीन बिल्ड द्वारा उत्पन्न सभी कलाकृतियों को हटा देगा। लेकिन यह सब कुछ पीछे छोड़ देगा।

यदि आपके पास अपने MSBuild प्रोजेक्ट में कुछ अनुकूलन हैं, तो यह परेशानी पैदा कर सकता है और सामान को पीछे छोड़ देगा आपको लगता है कि इसे हटा दिया जाना चाहिए।

आप इस समस्या को अपने साधारण परिवर्तन के साथ दरकिनार कर सकते हैं। * इसे अंत में कहीं पास में जोड़कर proj करें:

<Target Name="SpicNSpan"
        AfterTargets="Clean">
    <RemoveDir Directories="$(OUTDIR)"/>
</Target>

जो आपके वर्तमान प्लेटफॉर्म / कॉन्फ़िगरेशन के बिन फ़ोल्डर में सब कुछ हटा देगा।


2

यह मेरी बैच फ़ाइल है जिसका उपयोग मैं सभी BIN और OBJ फ़ोल्डरों को पुनरावर्ती रूप से हटाने के लिए करता हूं।

  1. एक खाली फ़ाइल बनाएं और इसे DeleteBinObjFolders.bat नाम दें
  2. DeleteBinObjFolders.bat में कोड को कॉपी-पेस्ट करें
  3. अपने समाधान (* .sln) फ़ाइल के साथ उसी फ़ोल्डर में DeleteBinObjFolders.bat फ़ाइल को स्थानांतरित करें ।
@echo off
@echo Deleting all BIN and OBJ folders...
for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"
@echo BIN and OBJ folders successfully deleted :) Close the window.
pause > nul

1

क्या Is स्वच्छ ’पर्याप्त नहीं है? ध्यान दें कि आप msbuild को / t: कमांड लाइन से साफ कह सकते हैं।


7
वास्तव में "स्वच्छ" पर्याप्त नहीं है। MEF का उपयोग करते समय यह विशेष रूप से सच है। "क्लीन सॉल्यूशन" ने आपके द्वारा हटाए गए संदर्भों से छुटकारा नहीं मिलता है जो किसी फ़ोल्डर के DLL को गतिशील रूप से लोड करने पर समस्या पैदा कर सकता है।
एलेक्स

5
बहुत सारे "मेरी मशीन पर काम करता है" बग पुराने या अप्रत्याशित सामानों के कारण होता है जो बिन / ओबज फ़ोल्डर में चारों ओर बैठे होते हैं जिन्हें "साफ" करके हटाया नहीं जाता है।
ल्यूक

1

हमारे बिल्ड सर्वर पर, हम स्पष्ट रूप से नैन्ट स्क्रिप्ट के माध्यम से बिन और obj निर्देशिकाओं को हटाते हैं।

प्रत्येक प्रोजेक्ट बिल्ड स्क्रिप्ट आउटपुट / अस्थायी निर्देशिकाओं के लिए ज़िम्मेदार होती है। इस तरह अच्छी तरह से काम करता है। इसलिए जब हम किसी प्रोजेक्ट को बदलते हैं और एक नया जोड़ते हैं, तो हम स्क्रिप्ट को एक वर्किंग स्क्रिप्ट से अलग करते हैं, और आप डिलीट स्टेज को नोटिस करते हैं और उसकी देखभाल करते हैं।

यदि आप इसे तर्क विकास मशीन पर कर रहे हैं, तो मैं विज़ुअल स्टूडियो के माध्यम से साफ करने के लिए छड़ी करूँगा, जैसा कि दूसरों ने उल्लेख किया है।


कभी-कभी मुझे बस यह सुनिश्चित करना होता है कि सभी बिल्ड पूरी तरह से नए हैं। मैं ऐसा करने के लिए स्वच्छ समाधान पर भरोसा नहीं कर सकता। बिन और obj को हटाने से अक्सर अधिक विश्वसनीय साबित हुआ है
माइकल डीआर

हमारे लिए, केवल 'बिल्ड मशीन' से निर्मित परीक्षण किए जाते हैं, या उत्पादन में उपयोग किए जाते हैं, इसलिए डेवलपर्स के पास 'सभी साफ' प्रकार के मुद्दे नहीं होने चाहिए, और बिल्ड सर्वर ऐसा करता है। इसके अलावा पूर्ण निर्माण करने के लिए किसी भी डेवलपर की आवश्यकता नहीं है।
शिमोन पिलग्रिम

1
नेंट के साथ ऐसा करने का सबसे आसान तरीका क्या है? मेरे पास एक दो दर्जन परियोजनाओं का एक पदानुक्रम है और मैं एक स्क्रिप्ट को नष्ट नहीं करना चाहूंगा। =)
एमपीऑन्टिलो

हमारे पास कई निष्पादक / डीएलएस 'परिसंपत्ति' निर्मित हैं, इसलिए प्रति परिसंपत्ति हमारे पास एक नांट लिपि है जो इसे बनाती है। हर एक के लिए एक डिलीट सेक्शन है, जहाँ हम प्रत्येक डीबग / रिलीज़ बिन / ओब्जे डायरेक्ट्री के लिए एक लाइन रखते हैं जिसे हम डिलीट करना चाहते हैं।
शिमोन पिलग्रिम

1

मैं वास्तव में स्रोत पेड़ों से अटे फाइलें obj से नफरत है। मैं आमतौर पर परियोजनाओं को सेटअप करता हूं ताकि वे स्रोत पेड़ के बाहर फाइलों को आउटपुट करें। C # प्रोजेक्ट्स के लिए, मैं आमतौर पर उपयोग करता हूं

 <IntermediateOutputPath>..\..\obj\$(AssemblyName)\$(Configuration)\</IntermediateOutputPath>

C ++ प्रोजेक्ट्स के लिए

 IntermediateDirectory="..\..\obj\$(ProjectName)\$(ConfigurationName)"

1

http://vsclean.codeplex.com/

कमांड लाइन टूल जो विजुअल स्टूडियो समाधान ढूंढता है और उन पर क्लीन कमांड चलाता है। यह आपको उन सभी पुराने प्रोजेक्टों की / बिन / * निर्देशिकाओं को साफ करने देता है जो आपने अपने हार्डड्राइव पर चारों ओर पड़े हैं


1

आप वास्तव में PS सुझाव को थोड़ा आगे ले जा सकते हैं और इस तरह परियोजना निर्देशिका में एक vbs फ़ाइल बना सकते हैं:

Option Explicit
Dim oShell, appCmd
Set oShell  = CreateObject("WScript.Shell")
appCmd      = "powershell -noexit Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse -WhatIf }"
oShell.Run appCmd, 4, false

सुरक्षा के लिए, मैंने -WhatIf पैरामीटर को शामिल किया है, इसलिए यदि आप पहले रन पर सूची से संतुष्ट हैं तो इसे हटा दें।


1

मैं रॉबर्ट एच के एक मामूली संशोधन का उपयोग करता हूं जो त्रुटियों को छोड़ देता है और डिलीट फाइलों को प्रिंट करता है। मैं भी स्पष्ट रूप से फ़ोल्डर .vs, _resharperऔर packageफ़ोल्डर्स:

Get-ChildItem -include bin,obj,packages,'_ReSharper.Caches','.vs' -Force -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse -ErrorAction SilentlyContinue -Verbose}

यह भी ध्यान देने योग्य है कि वह gitकमांड है जो सभी उपेक्षित फ़ाइलों और निर्देशिकाओं को बदल देती है:

git clean -dfx

0

हमारे पास कई प्रोजेक्ट फ़ाइलों के साथ एक बड़ी .SLN फ़ाइल है। मैंने एक "ViewLocal" निर्देशिका होने की नीति शुरू की, जहां सभी गैर-स्रोत-नियंत्रित फाइलें स्थित हैं। उस निर्देशिका के अंदर एक 'इंटर' और एक 'आउट' निर्देशिका है। मध्यवर्ती फ़ाइलों के लिए, और आउटपुट फाइलें क्रमशः।

यह स्पष्ट रूप से सब कुछ से छुटकारा पाने के लिए बस अपने 'व्यूक्लोकल' डायरेक्टरी में जाना और एक साधारण डिलीट करना आसान बनाता है।

इससे पहले कि आप स्क्रिप्ट के साथ इस के आसपास काम करने का एक तरीका तैयार करने में समय बिताए, आप कुछ इसी तरह की स्थापना के बारे में सोच सकते हैं।

हालांकि मैं झूठ नहीं बोलूंगा, लेकिन एक बड़े संगठन में इस तरह के सेटअप को बनाए रखना .... दिलचस्प साबित हुआ है। खासकर जब आप क्यूटी जैसी तकनीकों का उपयोग करते हैं जो फ़ाइलों को संसाधित करना और गैर-स्रोत-नियंत्रित स्रोत फ़ाइलों को बनाना पसंद करते हैं। लेकिन यह एक पूरी कहानी है!


0

PS1 फ़ाइल को ध्यान में रखते हुए currentFolder में मौजूद है (फ़ोल्डर जिसके भीतर आपको बिन और obj फ़ोल्डर को हटाने की आवश्यकता है)

$currentPath = $MyInvocation.MyCommand.Path
$currentFolder = Split-Path $currentPath

Get-ChildItem $currentFolder -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }

0

बैच में समाधान के लिए। मैं निम्नलिखित कमांड का उपयोग कर रहा हूं:

FOR /D /R %%G in (obj,bin) DO @IF EXIST %%G IF %%~aG geq d RMDIR /S /Q "%%G"


कारण का उपयोग नहीं कर DIR /S /AD /B xxx
1. DIR /S /AD /B objखाली सूची वापस आ जाएगी (कम से कम मेरी Windows10 पर) 2. (फ़ोल्डर tobj) जिसके परिणामस्वरूप की उम्मीद नहीं है में शामिल होंगे यहां छवि विवरण दर्ज करें
DIR /S /AD /B *objयहां छवि विवरण दर्ज करें


@IF EXIST %%G IF %%~aG geq dमौजूदा पथ की जाँच के लिए प्रयोग किया जाता है और पथ एक फ़ोल्डर है जो फ़ाइल नहीं है।
xianyi

0

यह मेरे लिए ठीक काम करता है: के लिए शुरू / डी / आर। %% d इन (बिन, obj, ClientBin, Generated_Code) do @if मौजूद है "%% d" rd / s / q "%% d"


0

मैं इस काम के साथ .bat फ़ाइल का उपयोग करता हूं।

for /f %%F in ('dir /b /ad /s ^| findstr /iles "Bin"') do RMDIR /s /q "%%F"
for /f %%F in ('dir /b /ad /s ^| findstr /iles "Obj"') do RMDIR /s /q "%%F"

-1

मुझे लगता है कि आप अपने समाधान / परियोजना पर राइट क्लिक कर सकते हैं और "क्लीन" बटन पर क्लिक कर सकते हैं।

जहां तक ​​मुझे याद है कि यह उस तरह काम कर रहा था। मेरे पास मेरा वीएस.नेट नहीं है इसलिए अब मैं इसका परीक्षण नहीं कर सकता।


यह सही है, और अब तक सभी सुझाए गए समाधानों में से सबसे सरल और सबसे आसान है (यह मानते हुए कि यह विशिष्ट स्थिति के लिए उपयुक्त है ....)
क्रिस हैल्क्रो

8
क्षमा करें, लेकिन यह केवल सच नहीं है। यह / obj की सामग्री को नहीं हटाता है जो समस्या की जड़ है। वीएस 2013 अपडेट 3 के साथ कम से कम यह स्थिति है
ओग्यान दिमित्रोव

VS2013 अपडेट के साथ बस यही समस्या थी 4. (नोट: VS2010 ठीक कर रहा था)
juFo

बेहतर स्पष्टीकरण के लिए यह उत्तर (इसी प्रश्न पर) देखें: stackoverflow.com/a/18317221/374198
जोश एम।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.