Board logo

标题: [文本处理] 【已解决】一行数据没有分隔符,批处理如何提取某列数据? [打印本页]

作者: 思想之翼    时间: 2015-11-25 11:46     标题: 【已解决】一行数据没有分隔符,批处理如何提取某列数据?

本帖最后由 思想之翼 于 2015-11-25 20:47 编辑

一行数据没有分隔符,如何提取某列数据?
比如数据 0123456789 欲提取89 怎么处理?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=` tokens=* eol=`" %%a in (a.txt) do (
  4. set str=%%a
  5. set str=!str:~1,9!
  6. set str1=!str:~7,2!
  7. set str=!str1!
  8. echo !str!>>b.txt
  9. )
  10. exit
复制代码
自己留存
  1. @echo off
  2. cd /d "c:\数据1\"
  3. for %%i in (*.txt) do (
  4. setlocal enabledelayedexpansion
  5. for /f "delims=" %%a in (%%i) do (
  6.     set "str=%%a"
  7.     set str=!str:~8,2!
  8.     echo,!str!
  9. ))>"c:\数据2\%%i"
  10. exit
复制代码
自己修改了一下,留存。
作者: terse    时间: 2015-11-25 13:27

你应该了解一下字符截取 论坛有专贴
作者: DAIC    时间: 2015-11-25 13:36

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%a in (a.txt) do (
  4.     set "str=%%a"
  5.     set str=!str:~8,2!
  6.     echo,!str!
  7. ))>b.txt
复制代码

作者: DAIC    时间: 2015-11-25 18:05

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%i in ("c:\数据1\*.txt") do (
  4.     (for /f "delims=" %%a in ('type "%%i"') do (
  5.         set "str=%%a"
  6.         set str=!str:~8,2!
  7.         echo,!str!
  8.     ))>"c:\数据2\%%i"
  9. )
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2