<p>Oui, vous pouvez utiliser des substitutions et comparer avec la chaine originale :</p>
<pre><code class="lang-auto">if not x%str1:bcd=%==x%str1% echo It contains bcd
</code></pre>
<p>La partie <code>%str1:bcd=%</code> remplacera <code>bcd</code> dans <code>str1</code> par une chaine vide, la rendant differente de l’originale.</p>
<p>Si l’originale ne contenait pas de chaine <code>bcd</code>, la version modifiee sera identique.</p>
<p>Tester avec le script suivant le montrera en action :</p>
<pre><code class="lang-auto">@setlocal enableextensions enabledelayedexpansion
@echo off
set str1=%1
if not x%str1:bcd=%==x%str1% echo It contains bcd
endlocal
</code></pre>
<p>Et les resultats de differentes executions :</p>
<pre><code class="lang-auto">c:\testarea> testprog hello
c:\testarea> testprog abcdef
It contains bcd
c:\testarea> testprog bcd
It contains bcd
</code></pre>
<p>Quelques remarques :</p>
<ul>
<li>
<p>L’instruction <code>if</code> est l’essentiel de cette solution, tout le reste est du code de support.</p>
</li>
<li>
<p>Le <code>x</code> avant les deux cotes de l’egalite est la pour s’assurer que la chaine <code>bcd</code> fonctionne correctement. Il protege egalement contre certains caracteres de debut “inappropries”.</p>
</li>
</ul>