Board logo

标题: [文本处理] [已解决]批处理如何判断2个战队是否比赛过? [打印本页]

作者: 597476418    时间: 2011-10-1 17:52     标题: [已解决]批处理如何判断2个战队是否比赛过?

本帖最后由 597476418 于 2011-10-1 21:11 编辑

1.txt(各战队的比赛记录)
光之结社 VS 天空王族
希望之翼 VS 冰狱战队
NEW_〖MoLong〗战队 VS 神の领域
王者之巅 VS 爱过你战队

2.txt(新一轮的比赛表)
希望之翼 VS ★皇の言灵☆New_START★
冰狱战队 VS 希望之翼
王者之巅 VS 极光
流火灬 VS 光之结社

如何判断2.txt中的比赛分组是否曾经在1.txt中出现过?(如:在1.txt中出现了希望之翼 VS 冰狱战队,在2.txt中出现了冰狱战队 VS 希望之翼,那么就应该提示这2个战队已经打过了)
作者: Batcher    时间: 2011-10-1 18:52

  1. @echo off
  2. for /f "tokens=1,3" %%a in (a.txt) do (
  3.     set %%a_%%b=1
  4.     set %%b_%%a=1
  5. )
  6. for /f "tokens=1,3" %%a in (b.txt) do (
  7.     if defined %%a_%%b (
  8.         echo %%a 和 %%b 这两个战队已经打过了
  9.     ) else if defined %%b_%%a (
  10.         echo %%a 和 %%b 这两个战队已经打过了
  11.     )
  12. )
  13. pause
复制代码

作者: 545810831    时间: 2011-10-1 19:40

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1-2 delims=VS" %%i in (1.txt) do (
  4. findstr "%%i" 2.txt&&findstr  "%%j" 2.txt&&echo %%i %%j>>3.txt
  5. )  
  6. pause
复制代码

作者: 597476418    时间: 2011-10-1 22:41

回复 2# Batcher


    求defined的详细用法
作者: Batcher    时间: 2011-10-1 23:38

回复 4# 597476418

批处理中的if defined 需知
http://bbs.bathome.net/thread-2050-1-1.html

批处理if defined的应用示例
http://bbs.bathome.net/thread-444-1-1.html

介绍一位朋友-批处理defined命令
http://bbs.bathome.net/thread-6461-1-1.html
作者: Batcher    时间: 2011-10-1 23:40

回复 3# 545810831


delims=VS不是以字符串VS作为列分隔符,而是把字母V和字母S都作为列分隔符,所以,你懂得...




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