[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 用批处理形成另一个批处理

本帖最后由 winsfly 于 2020-8-3 17:23 编辑

我想把下面的这段批处理用批处理输出到另一个批处理
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1,1,100) do if not exist "对比结果%%i" set "folder=对比结果%%i" & goto :next
  4. :next
  5. if exist "对比结果\" rename "对比结果" "%folder%"
  6. md 对比结果
  7. for /f "delims=" %%i in (渠道交单数据.txt) do (find /i "%%i" 对比结果\渠道交单已去重.txt||echo %%i>>对比结果\渠道交单已去重.txt)
  8. (for /f %%i in ('type "对比结果\渠道交单已去重.txt"') do (
  9.     set "OldStr=%%i"
  10.     set "NewStr=!OldStr:~0,3!....!OldStr:~7,4!"
  11.     findstr "!NewStr!" 系统后台数据.txt >nul 2>&1 || echo,%%i
  12. ))>"对比结果\未入系统数据.txt"
  13. findstr /g:对比结果\渠道交单已去重.txt 后台错误数据.txt >对比结果\渠道错误数据.txt
  14. set rowa=0
  15. for /f %%a in (对比结果\渠道交单已去重.txt) do if '%%a' neq '' set /a rowa+=1
  16. set rowb=0
  17. for /f %%b in (渠道交单数据.txt) do if '%%b' neq '' set/a rowb+=1
  18. echo 渠道交单%rowb%单 >对比结果\对比结果总结.txt
  19. set /a rowd=%rowb%-%rowa%
  20. echo 渠道交单重复%rowd%单 >>对比结果\对比结果总结.txt
  21. set rowc=0
  22. for /f %%c in (对比结果\渠道错误数据.txt) do if '%%c' neq '' set/a rowc+=1
  23. echo 渠道交单错误%rowc%单 >>对比结果\对比结果总结.txt
  24. set rowe=0
  25. for /f %%d in (对比结果\未入系统数据.txt) do if '%%d' neq '' set/a rowe+=1
  26. echo 未入系统%rowe%单 >>对比结果\对比结果总结.txt
  27. set /a youxiao=%rowb%-%rowd%-%rowc%-%rowe%
  28. echo 统计有效为%youxiao%单 >>对比结果\对比结果总结.txt
  29. exit
复制代码
把上面所有命令输出为另一个批处理1.cmd   
不能用more语句,因为上面这些代码在另外一个批处理不同地方

回复 3# Batcher
因为我是一个庞大的批处理,只是想把这个批处理很多行的命令原封不动重新输出到另外一个批处理中

TOP

回复 2# smss
%%i可以用%%%%i
假如是%i%  这种变量就不行了吧?

TOP

回复 8# 窄口牛
大侠,特别谢谢您,不辞麻烦地帮我全部搞好了,

    赞赞赞赞赞赞

TOP

返回列表