gpt4 book ai didi

batch-file - 条件暂停(不在命令行中)

转载 作者:行者123 更新时间:2023-12-03 20:21:51 25 4
gpt4 key购买 nike

我喜欢有最后的PAUSE在我的 *.bat 脚本中,所以我可以在 Windows 资源管理器中双击它们并有机会阅读输出。但是,当我从命令行运行相同的脚本时,最后的 PAUSE 很烦人。

有什么方法可以检测我们是否从命令提示符(或不)运行脚本并相应地插入 PAUSE(或不)?

(目标环境是 Windows XP 及更高版本。)

更新

我设法从安德斯的回答中撰写了这个:

(((echo.%cmdcmdline%)|find /I "%~0")>nul)
if %errorlevel% equ 0 (
set GUI=1
) else (
set CLI=1
)

然后,我可以做这样的事情:
if defined GUI pause

最佳答案

@echo off
echo.Hello World
(((echo.%cmdcmdline%)|find /I "%~0")>nul)&&pause

...仅 NT+,Win9x 中可能没有 %cmdcmdline%。

正如 E M 在评论中指出的那样,将所有这些放在一行上会打开一些边缘情况,其中 %cmdcmdline% 将从括号中转义出来。解决方法是使用两行:
@echo off
echo.Hello World

echo.%cmdcmdline% | find /I "%~0" >nul
if not errorlevel 1 pause

关于batch-file - 条件暂停(不在命令行中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com