batch-file - 如何确定 *.bat 文件是从控制台运行还是单独运行?

标签 batch-file console

有没有办法检查,以便我可以在最后放置一个条件,不关闭控制台窗口或等待用户按键,但忽略如果 *.bat 文件是从另一个控制台的键盘输入的,则无需执行那是因为 window 最终不会关闭?

最佳答案

您可以使用 %CMDCMDLINE%去检查。

@echo off
CALL :GETMYSWITCH %CMDCMDLINE%
IF /I "%MYSWITCH%" == "/C" ECHO Used explorer & PAUSE
IF /I NOT "%MYSWITCH%" == "/C" ECHO used cmd

:GETMYSWITCH
SET MYSWITCH=%2

如果您的批处理文件是从您编写的脚本中调用的,而不是直接通过双击调用,您可以让脚本将参数传递给批处理文件,然后检查是否需要至 pause .

更新了我的答案以使用我从 here 获得的这个“函数” .

关于batch-file - 如何确定 *.bat 文件是从控制台运行还是单独运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17866356/

相关文章:

php - ffmpeg批处理命令修剪文件夹中的所有mp3

batch-file - 具有常量的变量的批处理文件比较失败

windows - 如何在Windows7中使用批处理将文件移动到可移植设备

ruby-on-rails - 如何通过 Ruby on Rails Web 应用程序执行控制台命令行并返回结果?

适用于 Windows 的 Javascript 控制台,例如 JSC

console - 如何通过 Notepad++ 外部命令将我的脚本文件发送到控制台?

python - python中DOS批量替换/复制命令CHOICE

linux - 如何从 bash 制作批处理脚本

console - 是否可以重新运行 Sublime 命令控制台而无需再次按 ctrl+B (以防止重新启动)?

ruby-on-rails - 数据库记录总是返回 'nil'