在线跪求文本批处理的问题 批处理高手请进!~

发布网友 发布时间:2022-04-25 18:52

我来回答

3个回答

热心网友 时间:2023-10-08 15:29

@echo off
set ju1=0
setlocal enabledelayedexpansion
:1
echo.
set /p a=请输入需处理文本的数量:
if "%a%"=="2" goto 2
if "%a%"=="3" goto 3
echo 输入错误!只能处理2个和3个文件!请重新输入!
goto 1
:2
echo.
set /p a=请输入第一个文本名:
set /p b=请输入第二个文本名:
echo.
echo 正在处理中。。。请稍后。。。
ping -n 3 127.1>nul
echo.
echo.
echo (下面是处理详情,处理文本的要求在下面)
echo.
set /p d=请输入新文本名:
for /f "tokens=*" %%i in (%a%.txt) do (
set ju2=0
set /a ju1+=1
for /f "tokens=*" %%j in (%b%.txt) do (
set /a ju2+=1
if !ju1!==!ju2! echo %%i %%j>>%d%.txt
))
if !ju1! gtr !ju2! (
for /f "tokens=*" %%i in (%a%.txt) do (
set /a ju3+=1
if !ju3! gtr !ju2! echo %%i>>%d%.txt
))
if !ju1! lss !ju2! (
for /f "tokens=*" %%i in (%b%.txt) do (
set /a ju4+=1
if !ju4! gtr !ju1! echo %%i>>%d%.txt
))
echo.
echo.
echo 处理完成,%d% 文本已经生成,请按任意键退出。。。
pause>nul
exit
:3
echo.
set /p a=请输入第一个文本名:
set /p b=请输入第二个文本名:
set /p c=请输入第三个文本名:
echo.
echo 正在处理中。。。请稍后。。。
ping -n 3 127.1>nul
echo.
echo.
echo (下面是处理详情,处理文本的要求在下面)
echo.
set /p d=请输入新文本名:
for /f "tokens=*" %%i in (%a%.txt) do (
set ju2=0
set /a ju1+=1
for /f "tokens=*" %%j in (%b%.txt) do (
set /a ju2+=1
if !ju1!==!ju2! echo %%i %%j>>temp
))
if !ju1! gtr !ju2! (
for /f "tokens=*" %%i in (%a%.txt) do (
set /a ju3+=1
if !ju3! gtr !ju2! echo %%i>>temp
))
if !ju1! lss !ju2! (
for /f "tokens=*" %%i in (%b%.txt) do (
set /a ju4+=1
if !ju4! gtr !ju1! echo %%i>>temp
))
set ju1=0
set ju2=0
set ju3=0
set ju4=0
for /f "tokens=*" %%i in (temp) do (
set ju2=0
set /a ju1+=1
for /f "tokens=*" %%j in (%c%.txt) do (
set /a ju2+=1
if !ju1!==!ju2! echo %%i %%j>>%d%.txt
))
if !ju1! gtr !ju2! (
for /f "tokens=*" %%i in (temp) do (
set /a ju3+=1
if !ju3! gtr !ju2! echo %%i>>%d%.txt
))
if !ju1! lss !ju2! (
for /f "tokens=*" %%i in (%c%.txt) do (
set /a ju4+=1
if !ju4! gtr !ju1! echo %%i>>%d%.txt
))
del temp
echo.
echo.
echo 处理完成,%d% 文本已经生成,请按任意键退出。。。
pause>nul
exit

热心网友 时间:2023-10-08 15:30

回复 麦兜Terran 楼主是想按行合并文本

@echo off& mode con cols=40 lines=10& title 文件合并
color 17& setlocal enabledelayedexpansion
set /p wind_FNB=请输入要处理的文件数:& set wind_MX=0
(for /l %%1 in (1 1 %wind_FNB%)do (set wind_LN=& set /p wind%%1=请输入第%%1个文件名:
for /f "usebackq delims=" %%2 in ("!wind%%1!.txt")do (set /a wind_LN+=1
set wind!wind_LN!_%%1=%%2& if !wind_LN! geq !wind_MX! set wind_MX=!wind_LN!)))& set /p wind=请输入新文件名:
for /l %%1 in (1 1 %wind_MX%)do set /a smile+=1&& for /l %%2 in (1 1 %wind_FNB%)do (set /a smile_PCT=smile*100/wind_MX
cls& echo 当前处理进度[百分比] !smile_PCT!%%& if defined wind%%1_%%2 >>"%wind%.txt" echo !wind%%1_%%2!)

热心网友 时间:2023-10-08 15:30

真是为难人啊! 你的问题很不清楚 文本里显示的是什么? 看不懂你要显示什么

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com