我的输入文件名为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
非常感谢
答案 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