想用批处理 删除一个文件夹内多个 TXT文本的第一列 把第二列数据顶头 或者删掉每行的前17个字符 数据如下

2025-03-24 16:12:34
推荐回答(4个)
回答1:

删掉前面17个字符:
@echo off&setlocal EnableDelayedExpansion
(for /f "usebackq delims=" %%h in ("Input1(t) 2012-05-26, 09-43-48.txt") do (
set h=%%h
echo %h:~17,%
))>>OK.txt

删掉前面17个字符, 包括前19行(确定是19行哦):
@echo off&setlocal EnableDelayedExpansion
(for /f "usebackq skip=19 delims=" %%h in ("Input1(t) 2012-05-26, 09-43-48.txt") do (
set h=%%h
echo %h:~17,%
))>>OK.txt

回答2:

@echo off
setlocal enabledelayedexpansion
for /f "tokens=2* delims=t(" %%i in ('dir/b input*.txt') do (
set fn=input%%i(t%%j
(for /f "skip=19 tokens=2" %%k in ('type "!fn!"') do echo %%k)>%%i.txt
ren del "!fn!")

回答3:

sed "1,19d;s/.\{16\}//;p" Input1(t) 2012-05-26, 09-43-48.txt
gawk "NR>19{print $2}" Input1(t) 2012-05-26, 09-43-48.txt

回答4:

这个问题有点难度