Board logo

标题: [文本处理] [已解决]请问批处理如何实现文字的排列组合? [打印本页]

作者: 每天几分    时间: 2023-1-26 12:43     标题: [已解决]请问批处理如何实现文字的排列组合?

根据a、b文件,实现c文件。a文件m行,b文件n行。
实际上就是,a文件复制n行,b文件复制m行,然后2者组合在一起。
a.txt


保持
奇怪
……


b.txt

这个
问题
不知道
怎么办
……


c.txt
一成
一这个
一问题
一不知道
一怎么办
人成
人这个
人问题
人不知道
人怎么办
保持成
保持这个
保持问题
保持不知道
保持怎么办
奇怪成
奇怪这个
奇怪问题
奇怪不知道
奇怪怎么办
……

作者: HOPE2021    时间: 2023-1-26 13:43

回复 1# 每天几分
您看这样可以吗?
  1. @Echo Off & @Chcp 936 > Nul & @Goto :Main
  2. :Main
  3. Cd. > C.Txt
  4. For /F %%I in ('Type A.Txt') Do (
  5. For /F %%J in ('Type B.Txt') Do (
  6. >> C.Txt Echo.%%I%%J
  7. )
  8. )
  9. Echo.处理完成,请按任意键退出...
  10. Pause > Nul
  11. @Exit /B
复制代码

作者: qixiaobin0715    时间: 2023-1-27 08:59

这样可以避免文本中含有空白字符而造成显示不全的问题:
  1. @echo off
  2. (for /f "delims=" %%i in ('type "a.txt"') do (
  3.     for /f "delims=" %%j in ('type "b.txt"') do (
  4.         echo,%%i%%j
  5.     )
  6. ))>c.txt
  7. pause
复制代码

作者: qiqing    时间: 2023-11-1 01:15

回复 3# qixiaobin0715


    你好,可否修改一下这段代码,增加,如果排列组合过程中,a.txt中的字符串和b.txt的字符串相同,则跳过组合,例如a.txt某行是“其它”,b.txt的某行是“其它”。则跳过,不进行这一行的组合,其它组合照旧。谢谢
作者: qiqing    时间: 2023-11-1 01:27

回复 3# qixiaobin0715


    不用了,改好了,打扰了,不好意思




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2