找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25124|回复: 8

[文本处理] [已解决]批处理怎样提取第N行冒号以后的字符串并保存到文本?

[复制链接]
发表于 2013-3-20 20:53:51 | 显示全部楼层 |阅读模式
本帖最后由 wangyangweb 于 2013-3-21 10:18 编辑

username.txt     内容:

zhangsan
lisi
wangwu
...

假设有命令show
从username.txt中获取每个用户名作为show命令的参数,执行命令,如 show zhangsan info,其中show和info是固定模式,只有zhangsan是变量
执行  show zhangsan info 命令以后,显示内容如下:
name:zhangsan
sex:nan
age:33
birth:19800808
tel:13800138000

将第4行(如红色部分)冒号后面的内容+用户名输出保存到out.txt或excel(最好)里面,
格式:
zhangsan    19800808
lisi                19780101
....

即每执行一条show *** info命令就向输出文件写入一行固定格式记录

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-3-20 20:58:44 | 显示全部楼层
  1. @echo off
  2. (for /f %%a in (username.txt) do (
  3.     for /f "tokens=2 delims=:" %%b in ('show %%a info ^| findstr "birth:"') do (
  4.         echo %%a %%b
  5.     )
  6. ))>out.csv
复制代码
发表于 2013-3-20 20:59:24 | 显示全部楼层
如果需要分成两列
  1. @echo off
  2. (for /f %%a in (username.txt) do (
  3.     for /f "tokens=2 delims=:" %%b in ('show %%a info ^| findstr "birth:"') do (
  4.         echo %%a,%%b
  5.     )
  6. ))>out.csv
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-3-21 10:20:04 | 显示全部楼层
回复 3# BAT-VBS


    很感谢你,但是没分了
 楼主| 发表于 2013-3-21 10:24:56 | 显示全部楼层
回复 3# BAT-VBS


    再求教一个问题啊
假设我的机器是A,远程服务器是B,我用telnet登陆到服务器B,然后执行show命令。

然而,我在服务器B上没有写权限,只有读取权限,请问我能不能我的机器A上执行批处理文件,运行服务器B上的show命令,

读取的username.txt和要输出的out.csv都是我的机器A上的文件?

谢谢
发表于 2013-3-21 11:20:06 | 显示全部楼层
回复 5# wangyangweb


    Linux也许可以。Windows不知道。
 楼主| 发表于 2013-3-21 13:12:25 | 显示全部楼层
回复 6# BAT-VBS


    哈哈,解决了,只要将本地的username.txt和批处理文件(test.bat)共享,供服务器远程调用就能解决

Forexample:
test.bat

@echo off
(for /f %%a in (\\192.168.1.1\share\username.txt) do (
    for /f "tokens=2 delims=:" %%b in ('show username %%a info ^| findstr "birth"') do (
        echo %%a,%%b
    )
))>\\192.168.1.1\share\out.csv


服务器端执行call \\192.168.1.1\share\test.bat
发表于 2013-3-21 17:16:19 | 显示全部楼层
回复 7# wangyangweb


    你不是说在服务器B上没有写权限吗,怎么设置的共享啊?
 楼主| 发表于 2013-3-21 19:46:57 | 显示全部楼层
回复 8# BAT-VBS


    192.168.1.1是客户端的IP,由客户端共享文件,服务器访问文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 03:12 , Processed in 0.021556 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表