去除指定列并保持每行29列,对路径做了修改(set in_file 是需要自行改脚本指向文件)
@璐村惂鐢ㄦ埛_000076K馃惥 off & cls
set /p in_file=[导入文件/拖入文件:_]
set /p ot_file=[输出文件/拖入文件:_]
for /f "delims=" %%s in ('echo.%in_file%') do (set in_file=%%~s)
for /f "delims=" %%s in ('echo.%ot_file%') do (set ot_file=%%~s)
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%a in ('type "%in_file%"') do (
set "@_tmp=%%a"
set "@_str=!@_tmp:~0,15!"
set "@_tmp=!@_tmp:~16!"
echo.!@_str!>>"%ot_file%"
set "@_str="
set @_num=0
for %%s in (!@_tmp!) do (
set /a "@_num=!@_num!+1"
if !@_num! lss 4 (
if /i not "!@_str!"=="" (
set "@_str=!@_str! %%s"
) else (
set @_str=%%s
)
)
if !@_num! gtr 21 (
if /i not "!@_str!"=="" (
set "@_str=!@_str! %%s"
) else (
set @_str=%%s
)
)
if !@_num! geq 29 set @_num=0
)
echo.!@_str!
set "@_tmp=!@_str!"
set "@_str="
set @_num=0
for %%s in (!@_tmp!) do (
set /a "@_num=!@_num!+1"
if /i not "!@_str!"=="" (
set "@_str=!@_str! %%s"
) else (
set @_str=%%s
)
if !@_num! geq 29 (
echo.!@_str!>>"%ot_file%"
set "@_str="
set @_num=0
)
)
if /i not "!@_str!"=="" (
echo.!@_str!>>"%ot_file%"
set "@_str="
)
)
setlocal DISABLEDELAYEDEXPANSION
if /i not EXIST "%in_file%" echo.^<!^> 导入的文件不存在
if /i not EXIST "%ot_file%" echo.^<!^> 输出的文件不存在
set /p=^</^> 处理完毕