我有一个批处理脚本,它运行 4 个不同的文本文件(IMSI1.txt IMSI2.txt 等),在其中搜索 -imsi 并输出它旁边的值。
@echo off
setlocal EnableDelayedExpansion
set N=4
for /L %%r in (1,1,%N%) do (
for /F "delims=" %%a in ('findstr /C:"-imsi" IMSI%%r.txt') do set line=%%a
for /F %%a in ("!line:*-imsi=!") do echo %%a>> out & echo %%a> N%%r.txt
)
示例
Hello this is the text file
asdasd -imsi 367
asdasd -imsi 888
输出
888
所需输出
367
888
如何修复输出?
最佳答案
你就快到了:
@echo off
setlocal EnableDelayedExpansion
set N=1
for /L %%r in (1,1,%N%) do (
for /F "delims=" %%a in ('findstr /C:"-imsi" IMSI%%r.txt') do (
set line=%%a
for /F %%a in ("!line:*-imsi=!") do echo %%a>> out & echo %%a> N%%r.txt
)
)
关于Windows 提取所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25480097/