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

[文本处理] 批处理命令for/f如何处理几十个字符串?

[复制链接]
发表于 2012-2-22 10:04:08 | 显示全部楼层 |阅读模式
  1. @echo off
  2. for /f "tokens=1-3 delims=," %%i  in ("733100,72549,99") do (
  3. echo %%i
  4. echo %%j
  5. echo %%k
  6. pause
  7. )
复制代码
像这样的处理 如果有几十个数据 那变量怎么写?
发表于 2012-2-22 10:11:26 | 显示全部楼层
本帖最后由 BAT1 于 2012-2-22 10:14 编辑

把数据切的短一点不行吗 ?

几十个数据全部都要引用?还是一行数据有几十组,只需要取其中的几组或十几组。
 楼主| 发表于 2012-2-22 10:24:00 | 显示全部楼层
从一个txt文档里根据分隔符取出来,然后一个一个处理再输出。
怎么做?
发表于 2012-2-22 12:30:39 | 显示全部楼层
能不能把分割符全部替换为空格,然后:

  1. @echo off&setlocal enabledelayedexpansion&cd /d "%~dp0"
  2. for /f "delims=" %%i in (test.txt) do (
  3.   for %%a in (%%i) do (echo %%a)
  4. )

  5. pause
复制代码
发表于 2012-2-22 13:06:08 | 显示全部楼层
回复 4# QIAOXINGXING


    CD 命令可以省略
发表于 2012-2-22 15:01:26 | 显示全部楼层
本帖最后由 QIAOXINGXING 于 2012-2-22 15:03 编辑

回复 5# ivor


    呵呵,,,新建的模板是这样的,懒得删了。。。。。
变量延迟貌似也没用上。。。。
发表于 2012-2-22 20:17:48 | 显示全部楼层
用不带开关的for。

  1. @echo off
  2. for %%i  in ("733100,72549,99") do for %%i in (%%~i) do echo %%i
  3. pause
复制代码
发表于 2012-2-22 22:48:25 | 显示全部楼层
回复 4# QIAOXINGXING


不用替换成空格,“,”本身就是分割符吧?
  1. @echo off
  2. for /f "delims=" %%i in (test.txt) do for %%j in (%%i) do echo %%j
  3. pause
复制代码
发表于 2012-2-22 23:01:45 | 显示全部楼层
回复 3# woodywoola


把文档内容贴出来看看吧
发表于 2012-2-22 23:25:17 | 显示全部楼层
山有尽,水有穷,批处理有不足。另外想拓展的办法。逐节来也是可行的,或者用for嵌套也可以。但避免使用太多变量才是主要的思路。
发表于 2012-2-23 00:21:52 | 显示全部楼层
回复  QIAOXINGXING


不用替换成空格,“,”本身就是分割符吧?
apang 发表于 2012-2-22 22:48



    对啊,空格,逗号,分号,等号,都是分隔符,,,,
  现在不少东西还没接触,接触的也只学了个大概,很多细节都不太清楚啊。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 19:52 , Processed in 0.012841 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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