批处理delims=和tokens=星号 的使用差别_DOS/BAT

比较以下两段代码的执行结果差异:
1、
@echo off
for /f "delims=" %%i in (test.txt) do echo /%%i/
pause
2、
@echo off
for /f "tokens=*" %%i in (test.txt) do echo /%%i/
pause

test.txt 的内容为: abc 。行首有若干空格。
看到有什么差别了吗?

原因:"delims=" 的含义是取消默认的分隔符,所以会把行上的内容照搬下来,而 "tokens=*" 表示获取行上的所有内容,但是会忽略行首的所有空格。

时间: 2024-12-27 22:48:21

批处理delims=和tokens=星号 的使用差别_DOS/BAT的相关文章

不错的dos批处理命令详解第1/2页_DOS/BAT

一.简单批处理内部命令简介  1.Echo 命令  打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置.  语法  echo [{on│off}] [message]  Sample:@echo off / echo hello world  在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来.  2.@ 命令  表示不显示@后面的命令,在入侵过程中(例

BAT批处理判断目录在%Path%中实现方法_DOS/BAT

貌似没有很优美的做法,只能把%Path%按分号分割,然后一段一段地比较. :InPath [In]Path [Out]0/1 SETLOCAL SET LocalPathCopy=%PATH% SET Result=0 :WHILE IF "%LocalPathCopy" == "" GOTO WEND FOR /F "delims=;" %%I IN ("%LocalPathCopy%") DO ( IF /I "

批处理写的 oracle 数据库备份还原工具_DOS/BAT

这是针对oracle编写的,可以用在不同的电脑上,因为它会自动读取当前电脑的环境变量,从而取得oracle的安装路径,唯一有一点不足的地方是程序中运行过程中会产生一个中间文本文件,不过这并不碍大事,备份或者还原完了以后将会自动删除产生文本文件,代码如下: 复制代码 代码如下: @echo off&setlocal enabledelayedexpansion color 0a :start for /f "tokens=2 delims==" %%a in ('path') d

批处理自动登录QQ小结及相关讨论_DOS/BAT

转载自 葬祭在骷髅最终编辑 LJ_SunTB原理及使用方法: 代码: start "" "C:\Program Files\Tencent\QQ\qq.exe" /start QQUIN:843875648 PWDHASH:4Z1c1a8DeNoF9j+JHHRnrw== /stat:40引用: 10:上线登陆 40:隐身登陆 41:上线登陆 QQUIN和PWDHASH必须使用大写字母 原理:QQ在传输密码的时候,先做一次MD5加密,再做一次BASE64变换,这样可

批处理实现一行内容分行输出的代码_DOS/BAT

a.txt: aA1一bB2二cC3三dD4四eE5五fF6六gG7七hH8八iI9九 输出如下: abcdefghi ABCDEFGHI 123456789 一二三四五六七八九 唯一要求,老手略过,留给新手做练习,不能直接echo. 请先发现其中的规律. 其他,生成临时文件.代码超过一页都不重要,正确输出即可. 523066680: 复制代码 代码如下: @echo off setlocal enabledelayedexpansion set a=-1 for /f "tokens=*&qu

批处理实现文本内容居中显示的代码_DOS/BAT

a.txt 代码: [Promise don't come easy] I should have known all along. There was something wrong. I just never read between the lines. Then I woke up one day and found you on your way. Leaving nothing but my heart behind. What can I do to make it up to y

批处理实现的五子棋人机对战游戏_DOS/BAT

效果图:核心代码: 复制代码 代码如下: @echo off&setlocal enabledelayedexpansionset li0=┌───────────────────┐set li1=│┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐│1for /l %%a in (2,1,18) do (set li%%a=│├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤│%%a)set li19=│└┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘│19set li20=└───────────────────┘set l

用批处理列出所有开机启动项的命令_DOS/BAT

下面是JM写的代码,可能对你有用!~ 复制代码 代码如下: @echo off  :: 考虑到程序并非都安装在系统盘下,所以还要用!str:~-1!来截取盘符  :: 如果路径中含有N个中文字符的话,此路径的最后N个字符将不显示(一个中文字符占两个字符位)  :: code by jm 2006-7-27  setlocal enabledelayedexpansion  echo.  echo                开机自启动的程序有:  echo.  for /f "skip=4 t

写批处理必备的一些命令参数使用技巧_DOS/BAT

 首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件. 其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令.当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的.批处理的程序