Board logo

标题: [文本处理] 如何一个批处理调用多个批处理?在同一窗口依次运行。 [打印本页]

作者: cbbos    时间: 2023-2-5 21:15     标题: 如何一个批处理调用多个批处理?在同一窗口依次运行。

本帖最后由 cbbos 于 2023-2-8 16:15 编辑

现在有个新问题运行出现的路径怎么才能去掉?如下C:\Users\hase\Desktop\save>pause  1>nul
                               ------------------------------------------------------------
                                             fffffffff
                                                         fffffff
                               ------------------------------------------------------------

C:\Users\hase\Desktop\save>pause  1>nul


(以下已解决)
这是现在的代码,不行,会一下打开全部窗口
能不能做到全部在主窗口里面依次运行?或者说只运行正确的(如图 https://www.aliyundrive.com/s/z1R2B48NmJc )
call 1.1.5.1162\1.bat
call 2.0.5.3107\1.bat
call 3.1.70.2340\1.bat
call 4.0.20.1316\1.bat
call 8.1.60.1561\1.bat
call 10.0.30.1072\1.bat
call 11.8.79.3722\1.bat
call 11.11.50.1466\1.bat
call 12.0.64.1551\1.bat
call 13.0.37.1556\1.bat
call 14.0.36.1158\1.bat
call 14.5.12.1111\1.bat
call 15.0.1.1347\1.bat
call 16.0.15.1662\1.bat
pause
作者: hlzj88    时间: 2023-2-6 07:05

  1. start "" 1.1.5.1162\1.bat /w
复制代码
其余类似。
作者: hetaon    时间: 2023-2-6 09:20

批处理的call命令就是依次运行的,你要先检查1.bat里有没有打开新窗口的语句。
另从你写的脚本来看,1.bat脚本全是放在网络环境中的,要注意网络访问权限问题。
建议先用net use命令自动添加网络路径,映射网络驱动器,if exit判断文件存在再执行call命令。
net use Z: \\%TIMESERVER%\AutoUpload "%PASSWORD%" /user:"%USERNAME%" /PERSISTENT:NO
if errorlevel 1 goto LinkError
作者: 986981535    时间: 2023-2-6 10:35

你call的命令执行后要是调用其他东西,那调用结束它肯定就执行下一个。就是被调用的启动可能需要时间,给你同时启动的错觉,其实也是一个个调用。
作者: cbbos    时间: 2023-2-6 13:08

本帖最后由 cbbos 于 2023-2-7 09:58 编辑
批处理的call命令就是依次运行的,你要先检查1.bat里有没有打开新窗口的语句。
另从你写的脚本来看,1.bat ...
hetaon 发表于 2023-2-6 09:20



    你好,那个是文件夹名称,存在本地的。
这个是1.bat里面的内容看看有没有错误的
  1. @echo
  2. @echo off
  3. >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
  4. if '%errorlevel%' NEQ '0' (
  5. echo Requesting administrative privileges...
  6. goto UACPrompt
  7. ) else ( goto gotAdmin )
  8. :UACPrompt
  9. echo Set UAC = CreateObject("Shell.Application") > "%temp%\getadmin.vbs"
  10. echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
  11. "%temp%\getadmin.vbs"
  12. exit /B
  13. :gotAdmin
  14. if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
  15. pushd "%CD%"
  16. CD /D "%~dp0"
  17. cls
  18. echo --------------------------
  19. echo Intel's FPT v.15.0.1.1347
  20. echo --------------------------
  21. set "fold=15.0.1.1347"
  22. FPTW.exe -d C:\备份BIOS.bin -bios
  23. FPTW.exe -d C:\备份完整BIOS.rom
  24. pushd %~dp0
  25. rem                START /WAIT skhot /capture=2 /convert=result12.png
  26. echo ------------------------------------------------------------ >>C:\备份版本号fpt-info.txt
  27. echo                    FPT ver.%fold% --- END ---                             >>C:\备份版本号fpt-info.txt
  28. echo ------------------------------------------------------------ >>C:\备份版本号fpt-info.txt
  29. if exist %arch2%bios-region_%fold%.bin goto _PACK
复制代码

作者: cbbos    时间: 2023-2-6 13:14

回复 4# 986981535


    是的,它会弹出很多窗口,我想让他在一个窗口中运行
作者: cbbos    时间: 2023-2-6 13:16

其余类似。
hlzj88 发表于 2023-2-6 07:05



    这样吗?好像不行
  1. start "" 1.1.5.1162\1.bat /w
  2. start "" 2.0.5.3107\1.bat /w
  3. start "" 3.1.70.2340\1.bat /w
  4. start "" 4.0.20.1316\1.bat /w
  5. start "" 8.1.60.1561\1.bat /w
  6. start "" 10.0.30.1072\1.bat /w
  7. start "" 11.8.79.3722\1.bat /w
  8. start "" 11.11.50.1466\1.bat /w
  9. start "" 12.0.64.1551\1.bat /w
  10. start "" 13.0.37.1556\1.bat /w
  11. start "" 14.0.36.1158\1.bat /w
  12. start "" 14.5.12.1111\1.bat /w
  13. start "" 15.0.1.1347\1.bat /w
  14. start "" 16.0.15.1662\1.bat /w
  15. pause
复制代码

作者: hlzj88    时间: 2023-2-6 22:38

这样吗?好像不行
cbbos 发表于 2023-2-6 13:16


我理解错题意了,,所以按上面别的坛友发言做就可以,,要想确认是否call的效果,可在别的bat里添加暂停,便于观察。
作者: cbbos    时间: 2023-2-7 00:45

我理解错题意了,,所以按上面别的坛友发言做就可以,,要想确认是否call的效果,可在别的bat里添加暂停 ...
hlzj88 发表于 2023-2-6 22:38



    在所有1.bat添加pause的话倒是不会全部弹出,会结束后在主窗口按任意键才会弹出第二个窗口,我想的是能不能全部都在主窗口运行?而不是单独弹出一个窗口。
作者: 986981535    时间: 2023-2-7 10:32

回复 6# cbbos


    call只能让bat内容在同一个窗口内运行,你1.bat又执行其他非cmd命令他就只能从其他类型窗口弹出。
作者: cbbos    时间: 2023-2-7 13:12

回复  cbbos


    call只能让bat内容在同一个窗口内运行,你1.bat又执行其他非cmd命令他就只能从其他类 ...
986981535 发表于 2023-2-7 10:32



    怎么才能在一个窗口运行呢?因为之前有同类型的工具就是在同窗口运行的(版本老旧所以才自己做一个),可惜里面的命令我看不懂
作者: 986981535    时间: 2023-2-7 13:18

回复 11# cbbos


    可以贴出来看看的吗?
作者: cbbos    时间: 2023-2-7 13:49

回复  cbbos


    可以贴出来看看的吗?
986981535 发表于 2023-2-7 13:18



    内容比较多我直接上传文件吧,解压出来能看到批处理:https://wwet.lanzouw.com/iXOrs0mgf50j
他的功能比较多,包括了第二种备份软件(我的只是一种软件多个版本)截屏,压缩等。




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