提取最后12个字符并将其复制到txt

时间:2015-03-19 16:19:02

标签: batch-file

我的输入文件名为done.txt,如下所示。

clip_id HCQLR01HM01AO

clip_id HAUGL01HM01AC

clip_id HEBQC01HM01CD

clip_id HEFCD01HM01AK

clip_id HBYVA01HM01CY

clip_id HCFJI01HM01AI

我想提取最后12个字符并写入名为res.txt的新文本文件

这是我的编码。但这只适用于第一行。如何循环第2行,第3行和第4行?

@echo off

setlocal enabledelayedexpansion

for /f "tokens=*" %%a in (C:\Users\administrator\Desktop\com\done.txt) do (

    set line=%%a
    set chars=!line:~-13,12!
    echo !chars! > res.txt
)
pause
非常感谢

1 个答案:

答案 0 :(得分:1)

单曲“>” in echo !chars! > res.txt每次都会覆盖res.txt。将此行更改为echo !chars! >> res.txt

您可能还想在循环之前删除res.txt,从而产生:

@echo off

setlocal enabledelayedexpansion

del res.txt

for /f "tokens=*" %%a in (C:\Users\administrator\Desktop\com\done.txt) do (

    set line=%%a
    set chars=!line:~-13,12!
    echo !chars! >> res.txt
)
pause