Voici un exemple très basique de ce que j'essaie d'implémenter dans un fichier batch plus complexe. Je voudrais extraire une sous-chaîne d'un paramètre d'entrée (%1
) et la branche basée sur si la sous-chaîne a été trouvée ou non.Fichier batch: Extraction de la sous-chaîne du paramètre d'entrée à utiliser dans l'instruction IF
@echo off
SETLOCAL enableextensions enabledelayedexpansion
SET _testvariable=%1
SET _testvariable=%_testvariable:~4,3%
ECHO %_testvariable%
IF %_testvariable%=act CALL :SOME
IF NOT %_testvariable%=act CALL :ACTION
:SOME
ECHO Substring found
GOTO :END
:ACTION
ECHO Substring not found
GOTO :END
ENDLOCAL
:END
C'est ce que ma sortie ressemble:
C:\>test someaction
act
=act was unexpected at this time.
Si possible, je voudrais mettre cela dans une instruction IF/ELSE et évaluer directement à partir %1
. Cependant, je n'ai pas eu de succès avec l'un ou l'autre.
C'était le == qui semblait l'avoir corrigé. Mon fichier batch original où j'avais des problèmes était ~ 300 + lignes et j'ai négligé les détails mineurs. Merci d'avoir été mes yeux supplémentaires. – Neomoon
De rien. Les fichiers batch peuvent être difficiles à déboguer parfois. – aphoria