批处理:对文本每隔5行插入一空行
直接将文件拖到批处理上即可执行,不改变原文件,只产生一个新文件命名为:XXX分5行.txt(XXX是原文件名字)...
直接将文件拖到批处理上即可执行,不改变原文件,
只产生一个新文件命名为:XXX分5行.txt(XXX是原文件名字) 展开
只产生一个新文件命名为:XXX分5行.txt(XXX是原文件名字) 展开
3个回答
展开全部
直接将文件拖到批处理上即可执行,不改变原文件,
只产生一个新文件命名为:XXX分5行.txt(XXX是原文件名字)
@echo off
setlocal enabledelayedexpansion
set fn=%~n1分5行%~x1
for /f "tokens=*" %%i in ('type %1") do (
set/a n+=1
echo %%i>>%fn%
if "!n!"=="5" echo.>>%fn%&set n=0)
只产生一个新文件命名为:XXX分5行.txt(XXX是原文件名字)
@echo off
setlocal enabledelayedexpansion
set fn=%~n1分5行%~x1
for /f "tokens=*" %%i in ('type %1") do (
set/a n+=1
echo %%i>>%fn%
if "!n!"=="5" echo.>>%fn%&set n=0)
更多追问追答
追问
拖上去没反应
追答
测试过没问题。
我没试验路径带空格的情况,你把文本和批处理放到跟目录下试试,文本名最好不要带空格。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的回答貌似只能将目标文件更改名字为123.txt了。您可以尝试将123改成通配符*即可专门用于拖放。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
setlocal enabledelayedexpansion
if exist temp.txt del temp.txt
for /f "delims=" %%i in (123.txt) do (
set/a n+=1
echo %%i>>temp.txt
if "!n!"=="5" echo.>>temp.txt &set n=0)
move /y temp.txt 123.txt
setlocal enabledelayedexpansion
if exist temp.txt del temp.txt
for /f "delims=" %%i in (123.txt) do (
set/a n+=1
echo %%i>>temp.txt
if "!n!"=="5" echo.>>temp.txt &set n=0)
move /y temp.txt 123.txt
更多追问追答
追问
你这里面的123.txt 是什么意思呢?
是需要我将文件名改成123.txt 了才能执行吗?
我需要如下:
直接将文件拖到批处理上即可执行,不改变原文件,
只产生一个新文件命名为:XXX分5行.txt(XXX是原文件名字)
追答
@echo off
setlocal enabledelayedexpansion
set/p file=请将文件拖至本窗口:
for /f "delims=" %%i in (!file!) do (
set/a n+=1
echo %%i>>!file!分5行.txt
if "!n!"=="5" echo.>>!file!分5行.txt&set n=0)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询