Board logo

标题: 10元请问调用debug写入exe的BAT代码的问题在哪? [打印本页]

作者: 小渣飞    时间: 2019-8-8 10:40     标题: 10元请问调用debug写入exe的BAT代码的问题在哪?

想用批处理同时写出两个exe文件,请问一下为什么call:add_1时1.exe可以正常写出但是一到call:2时就没法写出了顺便问一下 more <"%~f0" +1|debug>nul 是读取整个文件第一行后所有的内容的内容给debug吗,能否用more读取指定范围内的数据给debug

call:add_1
if not exist 1.exe (echo no find.&pause>nul&exit) else (echo finish&pause>nul)

call:add_2
if not exist 2.exe (echo no find.&pause>nul&exit) else (echo finish&pause>nul&exit)

:add_1
pushd %tmp%\t1.17&&more <"%~f0" +1|debug>nul&&popd&&copy/b %tmp%\t1.17\t* "1.exe"&&rd/s/q %tmp%\t1.17
e100 4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00
... ... ... ...
n t3
rcx
B232
w
q
goto:eof


:add_2
pushd %tmp%\t1.17&&more <"%~f0" +1|debug>nul&&popd&&copy/b %tmp%\t1.17\t* "2.exe"&&rd/s/q %tmp%\t1.17
e100 4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00
... ... ... ...
n t3
rcx
B232
w
:goto:eof

作者: zaqmlp    时间: 2019-8-9 12:14

本帖最后由 zaqmlp 于 2019-8-9 12:31 编辑
  1. @echo off
  2. cd /d "%~dp0"
  3. for /l %%a in (1 1 2) do (
  4.     for /f "delims=:" %%b in ('type "%~f0"^|findstr /n "^:begin_%%a$"') do (
  5.         for /f "delims=:" %%c in ('type "%~f0"^|findstr /n "^:end_%%a$"') do call :loop %%a %%b %%c
  6.     )
  7.    
  8. )
  9. pause&exit
  10. :loop
  11. echo;%1[%2 %3]
  12. (for /f "tokens=1* delims=:" %%d in ('type "%~f0"^|findstr /n .*') do (
  13.     if %%d gtr %2 (if %%d lss %3 (echo;%%e))
  14. ))>"%tmp%\t.t"
  15. md "%tmp%\t1.17" 2>nul
  16. pushd %tmp%\t1.17&&type "%tmp%\t.t"|debug>nul&&popd&&copy/b %tmp%\t1.17\t* "%1.exe"&&rd/s/q %tmp%\t1.17
  17. exit /b
  18. :begin_1
  19. e100 4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00
  20. ... ... ... ...
  21. n t3
  22. rcx
  23. B232
  24. w
  25. q
  26. :end_1
  27. :begin_2
  28. e100 4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00
  29. ... ... ... ...
  30. n t3
  31. rcx
  32. B232
  33. w
  34. q
  35. :end_2
复制代码

作者: 小渣飞    时间: 2019-8-9 13:55

回复 2# zaqmlp


  嗯嗯,其实我是要写三个文件的,直接加入就好了吗
作者: zaqmlp    时间: 2019-8-9 13:58

回复 3# 小渣飞
提问题别挤牙膏,参照1、2的格式加入
……
for /l %%a in (1 1 3) do (
……
:begin_3
……
:end_3
作者: 小渣飞    时间: 2019-8-9 14:16

回复 4# zaqmlp


    好我测试一下,但是其中有一个文件为bmp格式的图片最后一个问题了=-=
作者: zaqmlp    时间: 2019-8-9 14:22

回复 5# 小渣飞

先付款再说
作者: 小渣飞    时间: 2019-8-9 14:34

回复 6# zaqmlp


    转了你看看
作者: zaqmlp    时间: 2019-8-9 14:40

回复 7# 小渣飞


http://www.bathome.net/viewthread.php?tid=51788
http://www.bathome.net/viewthread.php?tid=11109
作者: Batcher    时间: 2019-8-9 15:38

more <"%~f0" +1|debug>nul 是读取整个文件第一行后所有的内容的内容给debug吗

是的
能否用more读取指定范围内的数据给debug

不能
作者: 小渣飞    时间: 2019-8-10 10:41

回复 9# Batcher


    嗯嗯谢谢指点
作者: 小渣飞    时间: 2019-8-10 14:03

回复 2# zaqmlp


    T文件到T10以上的时候copy合并的时候顺序会出错




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