Я хочу знать, как использовать команду Findstr, чтобы найти текст в файле и сделать его переменной здесь, что я пробовал:
@echo off
for /F "delims=" %%a in ('findstr /I /m "100" Config.dat') do set "Variable=%%a"
cls
if %errorlevel% == 0 (
goto found
) else (
goto nope
)
:found
cls
echo founded ! %Variable%
pause
exit
:nope
cls
echo not found!
pause
exit
Хорошо, я объясняю: во второй строке число «100» — это то, что я хочу найти, а «Config.dat» — это файл, в котором есть число 100 и некоторые другие числа, а «переменная» — это имя переменной, которую я хочу сохранить в нем 100.
Проблема в том, что когда он нашел число 100, он переходит к функции «найдено» и отображает «Найдено! 100», но когда он не найден, он также переходит к функции «найден» и отображает только найдено! без 100. Так почему, когда он не основан, он переходит к «найден», мне нужно, чтобы он переходил в «нет».
Поэтому я надеюсь, что вы, ребята, объясните мне, если я сделал что-то не так, и спасибо!
/m
в вашей командеfindstr
. Также нет необходимости в опции/I
, так как число не имеет регистра. И поскольку вы уже знаете номер, нет необходимости помещать вашу команду в циклfor
. - person Compo   schedule 10.02.2018for
, повлияет ли это на переменную? (Он не будет хранить 100 или число в переменной) - person Sheep1Man   schedule 10.02.2018Set "Variable=100"
! - person Compo   schedule 10.02.2018echo 100 >File.dat
#set /p Var=<File.dat
, но я хочу создать один файл, содержащий всю конфигурацию программы. - person Sheep1Man   schedule 10.02.2018