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

  • andyabc45

    andyabc45

    1 Mayıs 2011
  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • Kurtindo Pop Games

    Kurtindo Pop

    2 HAZİRAN 2013