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

[文本处理] 批处理如何将用户的输入(中间用空格隔开)分开输出?

[复制链接]
发表于 2011-10-6 12:24:02 | 显示全部楼层 |阅读模式
简单说   
比如用户出入   :aaa ccc 2 cscs 8787 v5v5

把这个字符串分行输出。
aaa
ccc
....


忘了怎么写了。。= =  额哈。求代码。。最好用for。、
发表于 2011-10-6 12:58:32 | 显示全部楼层
  1. @echo off
  2. set p=aaa ccc 2 cscs 8787 v5v5
  3. for %%i in (%p%) do echo %%i
  4. pause
复制代码
是这样吗?

评分

参与人数 1技术 +1 收起 理由
canyuexiaolang + 1 谢了。。

查看全部评分

发表于 2011-10-6 13:09:30 | 显示全部楼层
也可以用set替换
  1. @echo off&setlocal ENABLEDELAYEDEXPANSION
  2. set a=^


  3. set p=aaa ccc 2 cscs 8787 v5v5
  4. echo %p: =!a!%
  5. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Hello123World + 1 能解释为什么要空两行吗

查看全部评分

 楼主| 发表于 2011-10-6 13:39:09 | 显示全部楼层
天啊天啊天啊。。。- -

我不行了。。我还是去死吧。。。额。。。

这么简单都忘了!!!!

要常温习啊
发表于 2011-10-6 14:14:50 | 显示全部楼层
回复 3# 601997526


    还必须得空两行,其中道理,至今没有想明白……
发表于 2011-10-6 15:09:22 | 显示全部楼层
回复 5# Hello123World


一行可以这样写:
  1. @echo off
  2. set str=2011-10-01
  3. setlocal enabledelayedexpansion
  4. set str=!str:-=^

  5. !
  6. echo,!str!
  7. pause
复制代码

评分

参与人数 1PB +15 技术 +2 收起 理由
CrLf + 15 + 2 移花接木,有想法!

查看全部评分

发表于 2011-10-6 16:04:34 | 显示全部楼层
回复 5# Hello123World


    示例:
set LineFeed=^


变量LineFeed被赋值为一个换行符(0x0a,\n,Lf)
第一个和第三个换行符被当做行结束标志,第二个被^转义成普通字符;
引用时需要用变量延迟的形式,否则就会在预处理中被当做行结束符而被过滤掉
原文:http://www.bathome.net/viewthrea ... p%3Bfilter%3Ddigest
重点:http://bbs.bathome.net/viewthread.php?tid=6692
PS:2个文章都非常不错,只不过是依题而论,

评分

参与人数 1PB +6 收起 理由
Hello123World + 6 论坛宝藏不少啊,我得多挖挖

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 04:32 , Processed in 0.020541 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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