【发布时间】:2012-06-18 14:09:38
【问题描述】:
我有一个脚本。
如果从 cmd 控制台调用,则会显示错误。但是,如果通过从资源管理器中单击调用我想暂停它,以便用户有机会在窗口关闭之前阅读错误。
有没有办法知道脚本是从 cmd 控制台调用还是从 Windows 资源管理器调用的?
谢谢, 杰斯
【问题讨论】:
我有一个脚本。
如果从 cmd 控制台调用,则会显示错误。但是,如果通过从资源管理器中单击调用我想暂停它,以便用户有机会在窗口关闭之前阅读错误。
有没有办法知道脚本是从 cmd 控制台调用还是从 Windows 资源管理器调用的?
谢谢, 杰斯
【问题讨论】:
您可以查看%cmdcmdline%,这将类似于
cmd /c ""C:\path\foo.cmd""
从 Explorer 启动时。
事实上,除非您的批处理文件运行 cmd,否则您应该能够依赖该变量永远不会包含批处理文件的完整路径,除非通过 open 动词启动(这是 Explorer 所做的;但是执行其他一些操作,例如 Far Manager 或 PowerShell)。
【讨论】: