Board logo

标题: [文本处理] [已解决]批处理如何查找出文本每行0-9组成的数字字符串中缺少的数字 [打印本页]

作者: necn33    时间: 2015-4-3 13:21     标题: [已解决]批处理如何查找出文本每行0-9组成的数字字符串中缺少的数字

本帖最后由 pcl_test 于 2016-8-14 20:16 编辑

求助BAT如何批量取反?
如 :1.txt 文本 :01234567
                      :12345678

结果: 2.txt文本:01234567   89
                       :12345678   09


ps:数字均为0-9组成  1.txt文本没规律
作者: pcl_test    时间: 2015-4-3 15:03

本帖最后由 pcl_test 于 2015-4-3 15:09 编辑

回复 1# necn33
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%a in ('type "a.txt"') do (
  4. >$ echo,%%a
  5. set s=
  6. for /l %%b in (0 1 9) do find "%%b" $ >nul || set s=!s!%%b
  7. echo,%%a !s!
  8. ))>b.txt
  9. del $
  10. pause
复制代码

作者: xxpinqz    时间: 2015-4-3 15:34

  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%a in (1.txt) do (
  3.      set/p.=%%a &set "s=%%a"
  4.      for /l %%b in (0,1,9) do if "!s:%%b=!"=="!s!" set/p.=%%b
  5.      echo,
  6. ))<nul>2.txt
复制代码

作者: pcl_test    时间: 2015-4-4 10:18

本帖最后由 pcl_test 于 2015-4-4 10:22 编辑
  1. '&cls&@echo off&cscript -nologo -e:vbscript %~fs0 & exit /b
  2. Set FSO = CreateObject("Scripting.FileSystemObject")
  3. For Each NowLine In Split(FSO.OpenTextFile("1.txt",1,true).ReadAll,vbCrLf)
  4.     For Each NowNum In Split("0 1 2 3 4 5 6 7 8 9")
  5.       If InStr(NowLine,NowNum)=0 Then NewLine = NewLine & NowNum
  6.       Next
  7.       InnMsg = InnMsg & NowLine & " " & NewLine & vbCrLf
  8.       NewLine = ""
  9. Next
  10. Set WF = FSO.OpenTextFile("2.txt",2,True)
  11. WF.Write InnMsg
  12. WF.Close
  13. 'Msgbox InnMsg
  14. Set FSO = Nothing
  15. Set WF = Nothing
复制代码





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