找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24392|回复: 9

[其他] [已解决]批处理不让call的内容影响原来的内容

[复制链接]
发表于 2021-1-31 16:45:25 | 显示全部楼层 |阅读模式
本帖最后由 smg无聊人 于 2021-2-1 16:06 编辑

前面几层楼结合8楼正解
  1. ::主程序.bat
  2. @echo off
  3. color 07
  4. title 666
  5. set num=777
  6. call test.bat
  7. echo %num%
  8. ::应该为777
  9. pause
  10. exit
复制代码
  1. ::test.bat
  2. color 70
  3. title 999
  4. set num=888
  5. echo %num%
  6. pause
  7. goto :eof
复制代码
但是并不行
setlocal endlocal只对变量有效  对颜色标题所在目录等等无效
百度百科也这样说
而且我想要它保持在原来主程序那个窗口
title 是666
颜色07
不变成新的窗口,
也不产生新的窗口

意思是,在原来主程序的窗口,调用个子程序,
调用结束后,所有一切回到主程序的设置
比如颜色标题变量所在目录等等,一点都不变

求解
感激不尽
发表于 2021-1-31 17:02:23 | 显示全部楼层
  1. ::test.bat
  2. setlocal
  3. color 07
  4. title 999
  5. set num=888
  6. echo %num%
  7. pause
  8. endlocal
  9. goto :eof
复制代码
 楼主| 发表于 2021-1-31 19:01:38 | 显示全部楼层
回复 2# flashercs


    之前我表达不准确,现在重新把问题描述了一遍
发表于 2021-1-31 19:05:04 | 显示全部楼层
回复 3# smg无聊人


    你试过了吗?
 楼主| 发表于 2021-1-31 19:52:05 | 显示全部楼层
回复 4# flashercs
不好意思,现在在外面没有去试
回家后试试看
发表于 2021-1-31 20:34:48 | 显示全部楼层
把调用代码放到setlocal...endlocal(相当于C语言中的括号)之间就行了。
  1. ::主程序.bat
  2. @echo off
  3. color 07
  4. title 666
  5. set num=777
  6. setlocal
  7. call test.bat
  8. endlocal
  9. echo %num%
  10. ::应该为777
  11. pause
  12. exit
复制代码
 楼主| 发表于 2021-1-31 22:41:18 | 显示全部楼层
本帖最后由 smg无聊人 于 2021-1-31 22:55 编辑

回复 4# flashercs


    不好意思
setlocal endlocal只对变量有效  对颜色标题变量所在等等无效
百度百科也这样说
 楼主| 发表于 2021-1-31 22:41:37 | 显示全部楼层
本帖最后由 smg无聊人 于 2021-1-31 22:57 编辑

回复 6# 路过


     不好意思
setlocal endlocal只对变量有效  对颜色标题目录等等无效
百度百科也这样说
发表于 2021-2-1 12:25:11 | 显示全部楼层
回复 8# smg无聊人

偶认为:
    color  title 是UI元素,进入call xxx.bat后bat并没有创建新的窗口,只是执行一些可以与主程序不相关的命令。
子bat其实在主窗口中运行,对ui的修改会影响前面的设置值。

set num 与ui无关 子bat可回调num变量值,也可以保留主bat中的值。(主程序最后显示num可为888,也可以777(不回调))。
要修改窗体显示元素,子bat结束后需再次设置。

评分

参与人数 1技术 +1 收起 理由
smg无聊人 + 1 解决问题

查看全部评分

 楼主| 发表于 2021-2-1 16:03:28 | 显示全部楼层
回复 9# xczxczxcz
谢谢你问题解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 10:43 , Processed in 0.019393 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表