1个回答
展开全部
@echo off
setlocal enabledelayedexpansion
dir /b "存放多个文本的文件夹的名称">>temp.tmp
set ctr=0
for /f "delims=` tokens=* eol=`" %%a in (temp.tmp) do (
for /f "delims=` tokens=* eol=`" %%b in (存放多个文本的文件夹的名称\%%a) do (
set ctr+=1
set %%a%ctr%==%%b
if !ctr! geq 5 goto :n
)
)
:n
md newfile
for /f "delims=` tokens=* eol=`" %%a in (temp.tmp) do (
for /l %%b in (1,1,5) do (
echo !%%a%%b!>>newfile\%%a
)
echo 要插入的一行文字>>newfile\%%a
)
for /f "delims=` tokens=* eol=`" %%a in (temp.tmp) do (
set ctr=0
for /f "delims=` tokens=* eol=` skip=5" %%b in (存放多个文本的文件夹的名称\%%a) do (
set /a ctr+=1
set %%a%ctr%==%%b
)
set ctr%%a=!ctr!
)
for /f "delims=` tokens=* eol=`" %%a in (temp.tmp) do (
for /l %%b in (1,1,!ctr%%a!) do (
echo !%%a%%b!>>newfile\%%a
)
)
echo 已完成,新文件保存在文件夹newfile中。
pause
del /f /q temp.tmp >nul
请把这个批处理放在存放多个文本的文件夹旁,将“存放多个文本的文件夹的名称”
替换后,双击运行。
更多追问追答
追问
感谢回答!
但是执行后的文件内容都是
ECHO 处于关闭状态。
ECHO 处于关闭状态。
ECHO 处于关闭状态。
ECHO 处于关闭状态。
ECHO 处于关闭状态。
要插入的一行文字
请问什么原因?
追答
@echo off
setlocal enabledelayedexpansion
dir /b "存放多个文本的文件夹的名称">temp.tmp
for /f "delims=` tokens=* eol=`" %%a in (temp.tmp) do (
set ctr=0
for /f "delims=` tokens=* eol=`" %%b in ('type "存放多个文本的文件夹的名称\%%a"') do (
set /a ctr+=1
if !ctr! leq 5 (
set "%%a!ctr!=%%b"
) else (
rem nothing
)
)
)
md newfile
for /f "delims=` tokens=* eol=`" %%a in (temp.tmp) do (
for /l %%b in (1,1,5) do (
echo !%%a%%b!>>newfile\%%a
)
echo 要插入的一行文字>>newfile\%%a
)
for /f "delims=` tokens=* eol=`" %%a in (temp.tmp) do (
set ctr=0
for /f "delims=` tokens=* eol=` skip=5" %%b in ('type "存放多个文本的文件夹的名称\%%a"') do (
set /a ctr+=1
set "%%a!ctr!=%%b"
)
set ctr%%a=!ctr!
)
for /f "delims=` tokens=* eol=`" %%a in (temp.tmp) do (
for /l %%b in (1,1,!ctr%%a!) do (
echo !%%a%%b!>>"newfile\%%a"
)
)
echo 已完成,新文件保存在文件夹newfile中。
pause
del /f /q temp.tmp >nul
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询