无忧启动论坛

 找回密码
 注册
搜索

判断批处理是终端关联运行还是CMD运行的方法

查看数: 1721 | 评论数: 17 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-12-28 16:55

正文摘要:

本帖最后由 baby1277 于 2025-12-28 18:26 编辑 以前是写了个VHD还原的脚本,网友反馈用终端运行时脚本会闪退。 但用cmd运行就没有问题,问我能不能再脚本开头加个判断提示。 闪退的问题我无法复现,当时也没有 ...

回复

baby1277 发表于 2025-12-29 19:56:20
nttwqz 发表于 2025-12-29 18:21
没有Win11,没有终端,无法测试。

记的有两个变量应该可以判断当前的命令解释器,可运行set命令对比不同 ...

%cmdcmdline%和%comspec%这两个值不行,WT_SESSION变量到是可以。
当时问AI的时候没有提到WT_SESSION变量,所以我认为AI是一本正经的胡说八道
  1. if defined WT_SESSION (
  2. echo 当前使用终端关联运行
  3. ) else (
  4. echo 当前使用cmd关联运行
  5. )
  6. pause
复制代码

nttwqz 发表于 2025-12-29 18:21:07
没有Win11,没有终端,无法测试。

记的有两个变量应该可以判断当前的命令解释器,可运行set命令对比不同解释器的变量
%cmdcmdline%
%comspec%

AI应该不至于无法回答如此简单的问题,应该是你的配方不对
我试着问了一下,让着重检查WT_SESSION变量,此变量是终端特有,但是如果终端有启动了cmd,那么这个变量会被集成。

点评

%cmdcmdline%和%comspec%这两个值不行,WT_SESSION变量到时可以。 当时问AI的时候没有提到WT_SESSION变量,所以我认为AI是一本正经的胡说八道 if defined WT_SESSION ( echo 当前使用终端关联运行 ) el  详情 回复 发表于 2025-12-29 19:56
fegr 发表于 2025-12-29 16:16:17
感谢楼主分享
ebaqiang 发表于 2025-12-29 10:59:07
这个好,感谢分享
wang1126 发表于 2025-12-29 08:26:14
谢谢楼主分享
dksoft 发表于 2025-12-29 08:23:26
感谢分享
好好学些 发表于 2025-12-29 08:22:23
支持楼主
win82 发表于 2025-12-28 23:13:10
感谢分享
smile_z 发表于 2025-12-28 22:47:49
感谢分享
handsome_xiang 发表于 2025-12-28 21:07:46
感谢分享!
wn168cn@163.com 发表于 2025-12-28 20:31:18
感谢分享
usb-boot 发表于 2025-12-28 19:43:35
0000
361318817 发表于 2025-12-28 19:27:49
000000000
it323 发表于 2025-12-28 18:06:00
感谢分享!
wwoldok 发表于 2025-12-28 17:48:54
这个不错
a66 发表于 2025-12-28 17:29:44
不错~~
likeyouli 发表于 2025-12-28 17:26:08
你说的终端 是指 powershell ?  还有你这个脚本什么格式? 是.bat 吗  ?

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2026-1-25 19:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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