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

[其他] [已解决] 批处理调用自身 如何 执行不同命令

本帖最后由 dong3626 于 2023-3-8 14:22 编辑

需求如题, 路过的大神请指教

谢谢大神,不但技术过硬,还敬业!
  1. @echo off
  2. if defined errorlevel (if %errorlevel%==6 (goto Tiao))
  3. echo.
  4. echo 批处理第一次执行
  5. :: do something
  6. echo 任意键退出当前批处理执行过程并传递errorlevel,并重新打开此批处理
  7. pause
  8. :: 改变errorlevel 并退出,传递errorlevel给下一个批处理
  9. start C:\Users\Go\Desktop\aaa.bat
  10. exit /b 6
  11. :Tiao
  12. echo =========================
  13. echo.
  14. echo 批处理再次执行,跳过了上面的命令
  15. pause
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

非常感谢  我消化一下

TOP

  1. echo off
  2. if "%1" == "" (goto :Ycl) else (goto :Start)
  3. :Ycl
  4. echo.
  5. echo %1
  6. echo 批处理预处理
  7. echo 暂停后应跳过这里
  8. pause
  9. start "" "%~f0" 8
  10. exit
  11. :Start
  12. echo =========================
  13. echo.
  14. echo %1
  15. echo 预处理完成
  16. echo 跳过上面的预处理,继续执行
复制代码
1

评分人数

    • dong3626: 感谢给帖子标题标注[已解决]字样技术 + 1

TOP

还是不正常啊,,请指教

echo off
if not defined "%1" (goto :Ycl) else (goto :Start)

:Ycl
echo.
echo %1
echo 批处理预处理
echo 暂停后应跳过这里
pause
start C:\Users\Go\Desktop\aaa.bat 8
exit


:Start
echo =========================
echo.
echo %1
echo 预处理完成
echo 跳过上面的预处理,继续执行
pause

TOP

本帖最后由 newswan 于 2023-3-8 01:30 编辑
  1. if %1 == xxx goto:t
  2. :a
  3. start C:\Users\Go\Desktop\aaa.bat xxx
  4. :Tiao
  5. echo =========================
  6. echo.
  7. echo 批处理再次执行,跳过了上面的命令
  8. pause
复制代码

TOP

返回列表