窗口 – 双击时暂停批处理文件,但从控制台窗口运行时不会暂停批处理文件?
是否有批处理文件的方式(在这种情况下,在Windows XP上运行),以确定是从命令行启动(即在控制台窗口内)还是通过shell启动(例如双击)? 我有一个脚本,我想通过shell运行时暂停某些点,但在命令行运行时不会。我在SO上看到了a similar question,但无法使用相同的解决方案有两个原因:首先,它是否停留需要依赖于多个因素,其中只有一个是双击。其次,我将这个脚本发送给我的团队的其他人,我无法实际地询问所有这些脚本进行注册表更改,这会影响所有的脚本。 这可能吗? 找到一个:-) – 经过拼命的思考,在交互式运行时可能会执行什么,但直接启动批处理文件时,我终于找到了一个。伪变量%cmdcmdline%包含用于启动cmd的命令行。如果cmd正常启动,则会包含类似于以下内容的内容: "C:WindowsSystem32cmd.exe" 但是,当启动批处理文件时,它看起来像这样: cmd /c ""C:UsersMetest.cmd" " 小演示: @echo off for %%x in (%cmdcmdline%) do if /i "%%~x"=="/c" set DOUBLECLICKED=1 if defined DOUBLECLICKED pause 这种检查方法可能不是最强大的,但是如果直接启动批处理文件,/ c应该仅作为参数存在。 Works on my machine http://hypftier.de/dump/works_on_my_machine.png 在这里测试Windows 7 x64。它可能或可能不工作,打破,做一些奇怪的事情,吃孩子(可能是一件好事)或咬你的鼻子。 (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows下的2017 最新版 MyEclipse启动出现:a java runtim
- 02、Windows Server 2003域账户管理(02)
- windows-phone-7 – 如何做这样的事情? (应用程序内的瓷砖
- api – Windows Phone应用程序中的捐赠
- 让CMake在Windows上找到flex
- windows – 如何在git bash中注册新安装的驱动器?
- .net – 为什么我无法在2.0.0.0播放器框架中重用1.8.2.2 Pl
- Win7高级应用技巧
- Windows – 如何将多个文件名传递给上下文菜单Shell命令?
- Windows10操作系统如何在局域网设置打印机共享
- 如何在Windows和Java下与USB设备进行通信?
- Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安
- Windows Phone 7 – 您可以在Windows 7手机上安装
- SAP ECC6 SOLUTION MANAGER KEY 生成脚本 (VBS)
- win7使用远程桌面 连接 windows服务器
- windows-7 – WMI安全中心产品状态说明
- windows-7 – 无法完成操作,因为文件夹或其中的文
- windows远程桌面连接ubuntu 16.04
- .net – System.Diagnostics.EventLog – 连接到
- 老机器XP Outlook Express 发大附件对方客户端收