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

  • ArkticPlanet

    ArkticPlanet

    9 ŞUBAT 2010
  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007
  • steeletraining

    steeletraini

    28 NİSAN 2010