发布网友 发布时间: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
真是为难人啊! 你的问题很不清楚 文本里显示的是什么? 看不懂你要显示什么