Board logo

标题: [文本处理] [分享]批处理如果指定第a行,删除第m个到第n个字符? [打印本页]

作者: Batcher    时间: 2019-6-16 13:46     标题: [分享]批处理如果指定第a行,删除第m个到第n个字符?

如果指定第a行,删除第m个到第n个字符,这要怎么实现?
  1. @echo on&setlocal enabledelayedexpansion
  2. set n=0
  3. for /f "usebackq delims=" %%b in ("a.txt") do (
  4.       set /a n+=1
  5.       if !n! equ 1 (
  6.           set "var=%%b"
  7.           echo %var%
  8.           echo !var:%var:~36,12%=!>>ok.txt
  9.         ) else (
  10.             echo %%b>>ok.txt
  11.           )
  12.        )
  13.       
  14. pause
复制代码
我自己这样写的,好像有问题
作者: Batcher    时间: 2019-6-16 13:47

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0
  4. (for /f "delims=" %%b in ('type "a.txt"') do (
  5.     set /a n+=1
  6.     if !n! equ 1 (
  7.         set "var=%%b"
  8.         echo,!var:~0,35!!var:~48!
  9.     ) else (
  10.         echo,%%b
  11.     )
  12. ))>"ok.txt"
复制代码

作者: Batcher    时间: 2019-6-16 13:57

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0
  4. (for /f "delims=" %%b in ('type "a.txt"') do (
  5.     set /a n+=1
  6.     if !n! equ 1 (
  7.         set "x=%%b"
  8.         set "var=%%b"
  9.         call echo %%var:!x:~36,12!=%%
  10.     ) else (
  11.         echo,%%b
  12.     )
  13. ))>"ok.txt"
复制代码





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