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

[文件操作] [已解决]怎样让一个批处理关闭后,等1秒再次打开

本帖最后由 5i365 于 2021-10-29 18:46 编辑

情况是这样的, 有个批处理执行后, 需要退出一下, 然后再打开它, 才可以继续执行, 否则就无法继续执行后面代码, 求高手支招, 提前感谢!

想了一个办法, 在退出批处理前, 设置一下计划任务两秒后打开自身, 然后删除计划任务,继续执行, 但是不知道代码如何写

试过重定向一个bat倒计时,然后打开自身, 这样也不行, 需要关闭命令行窗口后,再执行才可以, 重定向的方法, 命令行窗口一直都在运行, 只是前后接上了

代码如下: 因为要安装exe才能测试出来, 不然会死循环, 所以大文件在后面的9楼, 问题已经解决, 看12楼
  1. @echo off
  2. color 1f
  3. echo.
  4. echo GIT 版本:
  5. call git --version 2>nul
  6. if %errorlevel% == 0 (
  7.     echo.
  8.     echo GIT 已安装
  9.     echo ______________________________
  10. ) else (
  11.     echo.
  12.     echo GIT 未安装, 开始安装
  13.     echo ______________________________
  14.    
  15. Git-2.33.0.2-64-bit.exe /VERYSILENT
  16. cls
  17. echo.
  18. echo GIT 已安装
  19.     echo ______________________________
  20. )
  21. echo.
  22. echo NPM 版本:
  23. call npm --version 2>nul
  24. if %errorlevel% == 0 (
  25.     echo.
  26.     echo NPM 已安装, 继续执行
  27.     echo ______________________________
  28.    
  29. ) else (
  30.     echo.
  31.     echo NPM 未安装, 开始安装
  32.     echo ______________________________
  33.    
  34. MsiExec.exe /i node-v13.14.0-x64.msi /qn
  35. cls
  36. echo.
  37. echo NPM 已安装, 按任意键退出后, 重新打开
  38.     echo ______________________________
  39.     pause
  40.     exit
  41.     REM 此处必须要退出一下才行, 不能直接执行下面的 goto :next 不然下面的:next部分的代码执行时会一直打开新CMD窗口死循环
  42. )
  43. :next
  44. echo.
  45. echo Yarn 版本:
  46. call yarn --version 2>nul
  47. if %errorlevel% == 0 (
  48.     echo.
  49.     echo Yarn 已安装
  50.     echo _________________________________________________________
  51. ) else (
  52.     echo.
  53.     echo Yarn 未安装, 开始安装
  54.     echo _________________________________________________________
  55.    
  56.     npm install -g yarn --registry=https://registry.npm.taobao.org
  57.     echo.
  58.     echo 正在设置环境变量
  59.     echo _________________________________________________________
  60.     setx PATH "%PATH%;C:\Users\%username%\AppData\Local\Yarn\bin"
  61.     echo Yarn 已安装, 继续重启执行
  62.     echo _________________________________________________________
  63.    
  64.     start .\安装git_node.bat
  65. )
  66. echo.
  67. echo Yarn 版本:
  68. call yarn --version 2>nul
  69. pause
复制代码

回复 2# Batcher


    感谢回复, 是在别的博客找的安装GIT和NODE的代码, 里面有环境变量的设置, 感觉这个设置有关系,

我稍后整理一下, 贴上来, 只贴代码, 测试不了,或者死循环了,

TOP

回复 4# xp3000


    是同一个批处理, 关了之后, 再开

TOP

回复 2# Batcher


    老大, 文件因为很大, 已经上传文叔叔了, 麻烦楼上诸位高手帮看一下, 建议在虚拟机下运行, 因为不退出的那个批处理会死循环, 感谢

https://ws28.cn/f/6qniucilxv4 复制链接到浏览器打开

TOP

回复 10# xp3000


    感谢帮忙, 没太看明白怎么回事, 我的代码问题, 必须要把cmd窗口关上一次才可以生效, 否则就不行

TOP

回复 12# idwma


    感谢帮忙, 试了一下还是不行, 要手动打开三次才行, 以前是手动打开两次,

TOP

回复 13# xp3000


    只试一个安装, 没有意义, 因为这个批处理, 前一个的安装是后一个安装的基础

TOP

本帖最后由 5i365 于 2021-10-28 15:22 编辑

回复 16# idwma


    还是不行, 还是一共要三次才能OK, 以前是两次

TOP

回复 16# idwma


    我这里是学校的还原卡的电脑, 重启后安装的就没有了, 方便测试, 一般的电脑, 安装上还得需要全部卸载才可以试, 有点麻烦

这个脚本, 一共是安装三个程序, 一个git 一个npm 一个yarn , 前两个是最后一个的基础, 前两个在静默安装时也会自动设置环境变量

TOP

回复 19# yakeyun


    第一次执行, 最后显示都安装成功了, 再次打开, 闪一下就关了, 单独cmd试了一下, yarn没有安装成功, 也就是说, 上面的代码, 无法安装yarn了, 前面修改过的, 两次或三次都可以安装成功, 只是不能一次成功

TOP

是的, 所以想办法关闭cmd后, 再自动打开

TOP

本帖最后由 5i365 于 2021-10-28 19:12 编辑

回复 24# yakeyun


    感谢, 试了一下, 还是不行, 到最后执行yarm时, 一路跑了很多行, 最后自动关了, 再打开批处理, 也不执行了, 执行到yarn那, 里就自动关了

我最开始的代码, 用起来很稳定的, 唯一不方便的就是, 等关了之后, 再手动打开一下

代码的原作者, 干脆就是两个批处理, 我是合二为一了

TOP

回复 26# yakeyun


    感谢, 12楼的碉堡了, 完美搞定了,
因为用到了第三方exe, 不太方便 所以没有来及测试

TOP

回复 12# idwma


    本人水太浅, 大侠能否说说问题的关键所在?

TOP

回复 30# Batcher


    感谢指点, 还是不太

TOP

返回列表