Tekrarlı olarak 'bin` veya `obj` adlı tüm klasörleri silen toplu iş dosyası nasıl oluşturulur?


31

Bütün silme ihtiyacı var bin& objbenim PC'de bir klasörde klasör. Yani, bunu yapmak için bir toplu iş dosyası düşünüyorum ama Windows'ta toplu iş dosyası ile famialar değilim. Lütfen yardım et.

[Düzenle]

Kullanıcıyla tartıştıktan sonra DMA57361şu anki çözüme ulaştım (yine de sorun yaşıyorsanız, yorumlarımıza bakın):

Bir .bat dosyası oluşturun ve aşağıdaki komutu yapıştırın:

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

VEYA

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

@ DMA57361: Komut dosyanızı çalıştırdığımda aşağıdaki hatayı alıyorum. Herhangi bir fikir?

alt metin


@ İsim - neden kaçıyorsunuz for \/d \/r ...- neden çift eğik çizgi yerine for /d /r ...? Ve "full" versiyonunu /qsonunda çalıştırıyorum - belirttiğim gibi - uyarmadan her şeyi siliyor, bu yüzden hiçbir çıktı vermiyor (yani, çalıştığında, sadece bir hata olduğunda size söylemez), ikincisinden emin misiniz? Yukarıda koşmak düzgün çalışmadı mı?
DMA57361

@Adı bu çalışma aynı değil - görüntüde komutunuz ile başlayan for / %d in ve değil for /d /r . %d in- aşağıdaki tüm komutu kullanmanız gerekir , her bitin farklı bir işlevi vardır ve önemlidir.
DMA57361

@Nam Opps, özür dilerim, tamamen haklısınız, ilk birkaç anahtarı basmıyor! Ancak, bu hatayı atmaz ve benim için doğru çalışıyor gibi görünüyor. Bir toplu iş dosyasından çalıştırmayı denemek yerine, komutu komut satırından çalıştırmayı denediniz mi?
DMA57361

Hmm, ne garip. Muhtemelen Win7'niz benim WinXP'ime kıyasla parti ile farklı bir şey yapıyor, ne olduğundan emin değilim. Bu akşam
Win7'yi

Aslında, batch komutunu öneklemeye çalışın startve ne olduğunu görün. İdeal değil, ama bunun yardımı olabilir mi acaba
DMA57361

Yanıtlar:


42

Bu daha önce , bu cevabın asıl itirazını aldığım yer olan Yığın Taşması üzerine cevaplanmıştı .

Aşağıdaki komutu deneyin, içinden çalıştırabilirsiniz cmd:

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

Değiştirilecek başka klasörlere ihtiyacınız varsa (bin,obj), komutun ortasındaki kümeye yeni öğeler ekleyin .

Bu, uyarmadan ve geri dönüşüm kutusunu kullanmadan eşleşen her şeyi silecektir - bu nedenle, biraz daha fazla güvenlik istiyorsanız /q, çağrıyı rdsona erdirin ve sistem her silme işleminden önce size sormalıdır.

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

Bir içinden komutu çalıştırmak istiyorsanız toplu dosya , sen değişkenin her geçtiği yerde değiştirmek gerekecektir %dile %%dşöyle:

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

Dönüşüm başına soru yorumları vardı

Komut bir toplu iş dosyasında çalışmayı reddediyorsa (burada çoğaltılamaz), komutu ile ön eklemeyi deneyin start. Bu işlem, işlemi diğer işlemlere neden olabilecek toplu iş dosyasıyla aynı anda çalıştırmaya başlasa da, doğru çalışması daha olası görünmektedir.

Ayrıca, komutun üzerinde çalıştığı klasör ağacında veya adında dosyalarınız varsa , eşleşen bir adı olan her dosya için bir hata mesajı alırsınız. Bu eşleşen dosyalar silinmez ve ne olması gerektiğini silen komutun önüne geçmemelidir. Başka bir deyişle, güvenle göz ardı edilebilirler.objbin


1
Bu komutu çalıştırdığım bu kök klasör içindeki bir klasörü nasıl görmezden gelebileceğimi biliyor musunuz?
Goran Obradoviç

Mükemmel çalıştı! Teşekkürler! +1
khr055

1

Bu komutlar cmd üzerinde çalışmalıdır.

del * .obj

del * .bin


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.