DOS字符串截取
2011-02-24 15:00
211 查看
今天处理一脚本时突然感觉被DOS恶心了,很郁闷为什么处理个字符串要这么麻烦,好吧我承认我不了解dos命令!
废话不多说了把总结贴出来:
截取字符串
echo 1:2 > test.txt
以:为分隔符 输出第一列
for /f "delims=:" %i in (test.txt) do echo %i
echo a:b:c > test.txt
以:为分隔符输出第2列
for /f "tokens=2 delims=:" %i in (test.txt) do echo %i
输出第一列和第三列分隔符是三个*
for /f "tokens=1,3 delims=:" %i in (test.txt) do echo %i***%j
将分隔符替换成-
for /f "tokens=1-3 delims=:" %i in (test.txt) do echo %i-%j-%k
echo a:b.c-d >test.txt
type test.txt
a:b.c-d
每列分隔符分别不同时
for /f "tokens=1-4 delims=:.-" %i in (test.txt) do echo %i %j %k %l
“For /f” 一句话总结:解析文本,读取字符串。
批处理脚本里需要加
@echo off
for /f XXXXX
pause > null
PS: 在Linux下这个问题可以很好的解决 awk and cut 等等简简单单的满足很多愿望,为毛DOS不做些类似的功能恩?
PPS:当然还有一个唯一算是好的就是dos 里的 find 和 findstr 命令 类似grep 但是只是类似 简单实现一下还好 复杂功能木有!
废话不多说了把总结贴出来:
截取字符串
echo 1:2 > test.txt
以:为分隔符 输出第一列
for /f "delims=:" %i in (test.txt) do echo %i
echo a:b:c > test.txt
以:为分隔符输出第2列
for /f "tokens=2 delims=:" %i in (test.txt) do echo %i
输出第一列和第三列分隔符是三个*
for /f "tokens=1,3 delims=:" %i in (test.txt) do echo %i***%j
将分隔符替换成-
for /f "tokens=1-3 delims=:" %i in (test.txt) do echo %i-%j-%k
echo a:b.c-d >test.txt
type test.txt
a:b.c-d
每列分隔符分别不同时
for /f "tokens=1-4 delims=:.-" %i in (test.txt) do echo %i %j %k %l
“For /f” 一句话总结:解析文本,读取字符串。
批处理脚本里需要加
@echo off
for /f XXXXX
pause > null
PS: 在Linux下这个问题可以很好的解决 awk and cut 等等简简单单的满足很多愿望,为毛DOS不做些类似的功能恩?
PPS:当然还有一个唯一算是好的就是dos 里的 find 和 findstr 命令 类似grep 但是只是类似 简单实现一下还好 复杂功能木有!
相关文章推荐
- dos拼接字符串以及截取字符串
- DOS截取字符串的方法
- [No0000A4]DOS命令(cmd)批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度
- 关于DOS(windows命令行)截取变量中字符串问题的详细说明
- DOS字符串截取---以日期为文件名的文件重命名
- DOS截取字符串~
- DOS命令基础:echo、变量、函数、set、字符串截取
- dos下截取字符串
- DOS截取字符串
- DOS命令(cmd)批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度
- 关于DOS(windows命令行)截取变量中字符串问题的详细说明
- DOS截取字符串
- dos通过for命令截取字符串
- 截取HTML字符串
- PHP截取字符串
- SQL字符串截取
- php简单截取字符串代码示例
- (转)PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
- java字符串截取、替换、删除、添加、查询等常用方法