Bulunduğunda dosyayı sil


2

Böyle bir satırda bir toplu komut dosyası var:

del "%TARGET_DIR%\packages.config"

Ancak packages.confighedef dizinde yoksa bir hata oluşturur.

Bulamadı \\...\packages.config

delHedef dosyanın bulunamadığı bir hatanın yükselmesini engelleyecek bir komut satırı anahtarı var mı? if existsGerekirse bir kullanmaya açığım , ancak benzer komutlar var ve silmek isteyebileceğim her dosya için bunu yapmaktan kaçınmak istiyorum.


Bilginize, DEL /Qsessizce başarısız olmasına izin vermez; hala şikayet ediyor. Vaktinden önce test etmek zorunda kalacaksın ... üzgünüm.
Lynn Crumbling

Yanıtlar:


3

IF EXISTS/DELÇağrılarınızı işlevsel hale getirebilirsiniz , böylece kod bir ton tekrarlanmaz; DOS'ta sahte işlevler yapmak için, buna bakın .

İşlevleri uygulamak için GOTO ifadelerini kullanırlar, ancak aynı şekilde çalışması gerekir.

Bu sayfadan:

Örnek İşlev:

:myDosFunc    - here starts my function identified by it`s label
echo. here the myDosFunc function is executing a group of commands
echo. it could do a lot of things
GOTO:EOF

Fonksiyonu çağırmak:

call:myDosFunc

IF EXISTS ile kullanım için, buna bakın .


2

Null'a yönlendirebilirsiniz stderr:

del "%TARGET_DIR%\packages.config" 2> nul

ref


Teşekkürler, ama diğer cevaba gidiyorum çünkü tüm hataları yoksaymak istemiyorum (örneğin, eğer dosya kullanılıyorsa), sadece dosya bulunamazsa.
pswg
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.