批处理:对文本每隔5行插入一空行

直接将文件拖到批处理上即可执行,不改变原文件,只产生一个新文件命名为:XXX分5行.txt(XXX是原文件名字)... 直接将文件拖到批处理上即可执行,不改变原文件,
只产生一个新文件命名为:XXX分5行.txt(XXX是原文件名字)
展开
 我来答
sudoku52
2012-09-03 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4782万
展开全部
直接将文件拖到批处理上即可执行,不改变原文件,
只产生一个新文件命名为: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)
更多追问追答
追问
拖上去没反应
追答
测试过没问题。

我没试验路径带空格的情况,你把文本和批处理放到跟目录下试试,文本名最好不要带空格。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咫魂
2012-09-03 · TA获得超过415个赞
知道小有建树答主
回答量:407
采纳率:100%
帮助的人:90.4万
展开全部
楼上的回答貌似只能将目标文件更改名字为123.txt了。您可以尝试将123改成通配符*即可专门用于拖放。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈哥深惠通勤
2012-09-03 · TA获得超过1175个赞
知道小有建树答主
回答量:1909
采纳率:33%
帮助的人:826万
展开全部
@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
更多追问追答
追问
你这里面的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)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式