Saya baru dalam scripting dan saya bekerja dengan alat yang persis seperti windows cmd. File teks input saya adalah:
age=min;age_1D_param_min_64;meas_time =
File batch saya membaca baris dari input ini dan membagi baris dengan “; ”Lalu jalankan fungsi dengan token dan file usia dari bidang kedua dan setelah semua mem-parsing output untuk baris ketiga. berikut ini Anda dapat melihat file batch saya saat ini:
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
Sekarang saya punya masalah dengan satu string di out.txt yang merupakan hasil dari mengeksekusi fungsi saya:
meas_time =31.9999
Dalam file batch saya, saya ingin melakukan hal berikut:
Temukan nilai dalam string
dActual_age =31.9999
denganfindstr/C
Jika nilainya lebih rendah dari 1000, bulatkan dan perlihatkan hasilnya.
Jika lebih besar dari 1000, pertama bagi dengan 32 dan kemudian bulatkan hasilnya.
sumber