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

[文本处理] 批处理for命令如何以指定字符划分/分割字符串并输出每个字段?

[复制链接]
发表于 2016-6-13 23:43:20 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-6-14 00:36 编辑

一个字符串 123 456 789 111 ,可通过如下代码按空格分隔后打印
for %%x in (123 456 789 111) do echo %%x
123
456
789
111
如果将空格替换成#后,该如何循环打印
for %x in (123#456#789#111) do echo %x

评分

参与人数 1PB -6 收起 理由
pcl_test -6 勿发笼统的标题

查看全部评分

发表于 2016-6-14 00:29:27 | 显示全部楼层
1、#替换成空格/;/,/=再输出
2、遍历字符,遇到#则输出换行
3、vbs/js/powershell
4、第三方

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 啊哈

查看全部评分

发表于 2016-6-14 00:43:43 | 显示全部楼层
python大x法好。
发表于 2016-6-14 08:34:37 | 显示全部楼层
for %%x 会把 (123 456 789 111) 当做4个文件来处理,而不是把它当做一个字符串。
改成 123#456#789#111 之后就没有办法利用 for %x 的这个特性了,需要想别的办法。
  1. for /f "tokens=1-4 delims=#" %a in ("123#456#789#111") do (echo %a & echo %b & echo %c & echo %d)
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 13:11 , Processed in 0.011453 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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