SORU
10 AĞUSTOS 2011, ÇARŞAMBA


Toplu iş dosyası: eğer dize dize (bir dosya değil)ise

Bir toplu iş dosyasında bir dize var abcdefg. bcd dize olup olmadığını kontrol etmek istiyorum.

Ne yazık ki bir arama bulduğum çözüm gibi görünüyordosyabir dize, bir dize bir dize değil.

Bunun için kolay bir çözüm var mı?

CEVAP
10 AĞUSTOS 2011, ÇARŞAMBA


Evet, kısaltmaları kullanmak ve özgün dize karşı kontrol edebilirsiniz:

@setlocal enableextensions enabledelayedexpansion
@echo off
set str1=%1
if not x%str1:bcd=%==x%str1% echo It contains bcd
endlocal

%str1:bcd=% bit boş bir dize ile str1 bcd, özgün farklı yapma yerini alacak.

Eğer özgün bcd bir dize içerir, yapmasaydın, Değiştirilmiş Sürümü aynı olacaktır.

Test:

c:\testarea> testprog hello

c:\testarea> testprog abcdef
It contains bcd

c:\testarea> testprog bcd
It contains bcd

Birkaç not:

  • if deyimi bu çözümün ET, her şeyi destekleyen bir şey.
  • Eşitlik iki tarafı önce x string bcd iyi çalıştığından emin olmak için. Ayrıca bazı "" ile başlayan bir karakter. yanlış karşı korur

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • khloe brooks

    khloe brooks

    25 Temmuz 2011
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010
  • FF Radioo

    FF Radioo

    14 ŞUBAT 2007