如何从FINDSTR输出设置为变量
问题描述:
@echo off
set result=""
setlocal enabledelayedexpansion
for /f %%i in ('FINDSTR /I /S /C:"A=1" C:\Users\Family\Desktop\saxcz find.bat')
do set result=%%i
)
echo !result!
) else (
echo xx
)
pause>nul
是我的代码,但输出是如何从FINDSTR输出设置为变量
C:\用户\家庭\桌面\ saxcz \ find.bat:设置 XX
为什么这发生?
答
不知道如果我明白你想实现的任务,但是这可能会帮助
@echo off
setlocal enabledelayedexpansion
set "result="
set/a offset=0
for /f "tokens=3,4 delims=:" %%i in ('FINDSTR /N /I /S /C:"A=1" C:\Users\Family\Desktop\saxcz\find.bat') do (
set/a offset+=1 & set "line=0000%%i"
set "result[!offset!]=!line:~-4! %%j"
)
if %offset% neq 0 (
echo(
echo(Line data
echo(---- ---------------------------------
for /L %%i in (1,1,%offset%) do echo(!result[%%i]!
echo(---------------------------------------
echo(
echo(%offset% items found
) else (
echo(Not found
)
endlocal
exit/B
你有一个'在你的代码else' ......哪里是属于'if'语句? – geisterfurz007
和'echo!result!'前面的右括号?似乎在文件名 – elzooilogico
'do'不能在一个单独的行上,它必须与前面的关闭'''在同一行中缺少反斜线!阅读此:['for'](http://ss64.com/nt/for.html) – aschipfl