[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] (已解决)批处理如何获取/提取文本每一行各列的内容?

本帖最后由 pcl_test 于 2016-5-12 19:51 编辑

任务:
本人准备使用wmiexec进行内网主机基线的批量执行,问题却出在不知道该如何读取文件内的信息比方说ip.txt的内容如下:

192.168.1.1 admin1 passwd1
192.168.2.1 admin2 passwd2
192.168.3.1 admin3 passwd3
192.168.4.1 admin4 passwd4
192.168.5.1 admin5 passwd5

应该如何只将第一行的第一列作为参数%%i 第一行第二列作为%%j,第一行第三列作为%%k.
在使用for /f  "tokens=1 delims= " %%i in (a.txt) do echo %%i  显示的却是:
192.168.1.1
192.168.2.1
192.168.3.1
192.168.4.1
192.168.5.1
请问我该如何获取第一行的内容,并将其第一列,第二例,第三列依次赋值。如只将192.168.1.1赋值为%%i,而不是整整第一行都赋值成%%i

我原本的构想是脚本能循环读取每一行的第一列为IP地址,第二列为用户名,第三列为密码然后传送给wmiexec。请为该如何编写。。。
不是全要,我是想实现将第一行的第一列192.168.1.1作为参数一,第二列admin1作为参数二,第三列passwd1作为参数三。然后传给比方说是
          scan.exe  -ip %参数一%  -u %参数二% -p %参数三%               这种形式。。然后使用for嵌套循环将ip.txt内的第二行,第三行,第四行,第五行....剩余的全部扫描完毕。。。
1

评分人数

回复 10# zwh790859072


    发个帖子,把你的测试数据和测试代码给大家看看吧。
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

楼主,怎么才能一行一行的读取文本中的内容?我还是不行

TOP

学习了.....................................

TOP

xiexiexie!!

TOP

回复 6# CrLf

谢谢啊。。终于解决了。

TOP

  1. for /f  "tokens=1-3" %%i in (a.txt) do scan.exe  -ip %%i  -u %%j -p %%k
复制代码

TOP

回复 2# xxpinqz


        不是全要,我是想实现将第一行的第一列192.168.1.1作为参数一,第二列admin1作为参数二,第三列passwd1作为参数三。然后传给比方说是

          scan.exe  -ip %参数一%  -u %参数二% -p %参数三%               这种形式。。然后使用for嵌套循环将ip.txt内的第二行,第三行,第四行,第五行....剩余的全部扫描完毕。。。

TOP

回复 3# CrLf


    不是呀。。我不是
这些全要,我是想实现第一次循环仅仅将第一行的第一列192.168.1.1作为参数一,第二列admin1作为参数二,第三列passwd1作为参数三。然后传给比方说是

          scan.exe  -ip %参数一%  -u %参数二% -p %参数三%               这种形式。。然后使用for嵌套循环将ip.txt内的第二行,第三行,第四行,第五行....剩余的全部扫描完毕。。。

TOP

你得指定 tokens,举个栗子:
  1. for /f  "tokens=1-3 delims= " %%i in (a.txt) do echo 【%%i】 【%%j】 【%%k】
复制代码

TOP

  1. for /f  "tokens=1-3" %%i in (a.txt) do echo 第一列:%%i 第二列:%%j 第三列:%%k
复制代码
1

评分人数

    • CrLf: 比你慢了两秒...PB + 6
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

返回列表