Windows 提取所有匹配项

标签 windows batch-file

我有一个批处理脚本,它运行 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/

相关文章:

html - 使用参数调用 powershell 函数

windows - Puppet 安装在另一个节点定义中定义的软件

postgresql - 如何更改 postgresql 中的默认数据库位置?

batch-file - Image Magick Convert -profile 后替换原始 jpg

windows - 当我在 double for 中使用 goto 时会发生什么?

php - 从 PHP 或 Web UI 控制 Windows 音量

windows - 如何防止 Windows 在构建解决方案时进入休眠状态?

c++ - 使用 DEFAULT_GUI_FONT 设置 HFONT 的字体大小

batch-file - BATCH - 从 Windows 命令行获取显示分辨率并设置变量

windows - 哪些命令不能与 cmd 命令一起出现在一行/Windows 运行框中?