DOS - 批处理之 for /f 中的 delims 和 tokens

简介: DOS - 批处理之 for /f 中的 delims 和 tokens

前言

今天在对windows进行提权之前的系统信息收集的时候,需要使用到一条批处理语句把特定部分的内容从一个txt的文本当中提取出来;该条语句是如下:


for /f "tokens=2,3 delims==" %%a in (tmplist.txt) do (echo %%a >> software.txt)

当时跟着流程操作的时候,对这条语句的了解也只是仅限于知道这条语句的作用是将tmplist.txt文本文件里面的内容按照一定规则取出想要的部分的内容输出到software.txt文本里;但是跟着教程一路操作下来,到了这一步却出现了如下的错误:


image.png

示例1

要处理的文本文件名为:tmplist.txt,其内容为:

1、饶天亮=玫瑰爱人.wma

2、高一首=我不愿错过.mp3

3、黃凱芹=傷感的戀人.MP3

4、黄灿=黄玫瑰.lrc

5、黎姿=如此这般的爱情故事.mp3

显示文本文件内的全部内容,执行的命令:

for /f %%i in (tmplist.txt) do echo %%i

得到的结果如下:

image.png

for /f "delims==" %%a in (tmplist.txt) do echo %%a

得到的结果如下:


image.png


for /f "tokens=2 delims=*." %%a in (tmplist.txt) do echo %%a

经过实际的尝试,发现如果使用中文编码的符号顿号“、”来作为分割符,是无法正确得到结果的,所以将序号后面的顿号全部改为“*” ,以便测试的正常进行;

1*饶天亮=玫瑰爱人.wma

2*高一首=我不愿错过.mp3

3*黃凱芹=傷感的戀人.MP3

4*黄灿=黄玫瑰.lrc

5*黎姿=如此这般的爱情故事.mp3

image.png

for /f "tokens=1,3 delims=*." %%a in (tmplist.txt) do echo %%a %%b

image.png

目录
相关文章
|
Windows
【批处理学习笔记】第十一课:常用DOS命令(1)
【 文件夹管理 】cd 显示当前目录名或改变当前目录。md 创建目录。rd 删除一个目录。dir 显示目录中的文件和子目录列表。tree 以图形显示驱动器或路径的文件夹结构。path 为可执行文件显示或设置一个搜索路径。
1096 0
|
Windows
【批处理学习笔记】第十二课:常用DOS命令(2)
文件管理type 显示文本文件的内容。copy 将一份或多份文件复制到另一个位置。del 删除一个或数个文件。move 移动文件并重命名文件和目录。(Windows XP Home Edition中没有)ren 重命名文件。
1162 0
|
Windows
【批处理学习笔记】第十四课:常用DOS命令(4)
系统管理at 安排在特定日期和时间运行命令和程序shutdown立即或定时关机或重启taskkill结束进程(WinXPHome版中无该命令)tasklist显示进程列表(Windows XP Home Edition中没有)reg 注册表控制台工具atAT命令是Windows XP中内置的命令,它也可以媲美Windows中的“计划任务”,而且在计划的安排、任务的管理、工作事务的处理方面,AT命令具有更强大更神通的功能。
1075 0
|
Windows Linux
利用DOS批处理实现定时关机操作
  10月1放假回来,寝室晚上10:30就停电了,最无法让人理解的是第二天早上8:00才来电。原来晚上电脑都是不关机的,开着WiFi一直到天亮,可是现在不行了,电脑如果一直开着第二天早上起来电脑肯定没电,于是我就想让它定时关机。
1396 0
|
Windows
dos命令批处理发送文字到剪贴板
方法一(推荐): echo 要发送到剪贴板的字 | clip   方法二: @echo off::显示要发送的文字重定向到windows临时文件夹下echo 要发送到剪贴板的字>%systemroot%\temp\clip.
1044 0
DOS批处理的字符串功能
原文:DOS批处理的字符串功能 DOS批处理的字符串功能   批处理有着具有非常强大的字符串处理能力,其功能绝不低于C语言里面的字符串函数集。批处理中可实现的字符串处理功能有:截取字符串内容、替换字符串特定字段、合并字符串、扩充字符串等功能。
824 0
|
C# 算法 Windows
C#执行外部程序之执行DOS命令和批处理
在项目开发中,有时候要处理一些文件,比如视频格式的转换,如果用C开发一套算法,再用C#调用,未免得不偿失!有时候调用现有的程序反而更加方便。今天就来说一下C#中如何调用外部程序,执行一些特殊任务。 这里演示调用cmd.exe,即我们常用的DOS。
1237 0