Je suis nouveau dans le domaine des scripts et je travaille avec un outil qui est exactement comme cmd de Windows. Mon fichier texte d'entrée est :
age=min;age_1D_param_min_64;meas_time =
Mon fichier batch lit les lignes de cette entrée et les sépare par " ; " puis exécute une fonction avec le fichier de jetons et d'âge du deuxième champ et enfin analyse la sortie de la troisième ligne. Dans l'image suivante, vous pouvez voir mon fichier batch actuel :
setlocal EnableDelayedExpansion
for /f "tokens=1,2,3* delims=;" %%a in (input.txt) do (
REM create token file
echo.%%a>current.tok
sinoparam -p D:\product\%%b 0x0100001F current.tok> out.txt
for /f %%y in ('findstr /C:"%%c" out.txt ^| sed "s/.*%%c .............. )do SET RESULT=%%y
echo.%%a;%%b;%%c;!RESULT!>>finaloutput.csv
)
GOTO :EOF
Maintenant, j'ai un problème avec une chaîne dans out.txt qui est le résultat de l'exécution de ma fonction :
meas_time =31.9999
Dans mon fichier batch, je veux faire ce qui suit :
-
Trouver la valeur dans la chaîne de caractères
dActual_age =31.9999
porfindstr/C
-
Si la valeur est inférieure à 1000, arrondissez-la et affichez le résultat.
-
S'il est supérieur à 1000, divisez-le d'abord par 32, puis arrondissez le résultat.