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

  • Marques Brownlee

    Marques Brow

    21 Mart 2008
  • paulandstorm

    paulandstorm

    4 EYLÜL 2006
  • The CGBros

    The CGBros

    20 AĞUSTOS 2011