将文本文件中的每一行修剪为30个字符

时间:2016-01-23 03:55:48

标签: batch-file trim

我有如下文字文件

输入样本文本文件

  

69273ww01 / 080-100 1021/00 11123
  80381ew20 / 937-134 1372/92 12737298323
  02ws88749 / 263-379 2836/39 121
  4793de592 / 343-283 7384/49 233792740562263

必需的输出文本文件

  

69273ww01 / 080-100 1021/00 111
  80381ew20 / 937-134 1372/92 127
  02ws88749 / 263-379 2836/39 121
  4793de592 / 343-283 7384/49 233

我想取每一行并删除该行中第30个字符后的所有内容。不幸的是,我不知道从哪里开始。任何指导都将不胜感激。

1 个答案:

答案 0 :(得分:0)

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "sourcedir=U:\sourcedir"
SET "destdir=U:\destdir"
SET "filename1=%sourcedir%\q34959432.txt"
SET "outfile=%destdir%\outfile.txt"
(
 FOR /f "usebackqdelims=" %%a IN ("%filename1%") DO (
  SET "line=%%a"
  ECHO(!line:~0,30!
 )
)>"%outfile%"

GOTO :EOF

您需要更改sourcedirdestdir的设置以适合您的具体情况。

我使用了一个名为q34959432.txt的文件,其中包含我的测试数据。

生成定义为%outfile%

的文件

您发布的数据输出长度为29个字符,而不是30个。您需要进行的更改应该是显而易见的。