窗口 – 双击时暂停批处理文件,但从控制台窗口运行时不会暂停批处理文件?
是否有批处理文件的方式(在这种情况下,在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 Vista上的C#.Net连接的无线网络的SSID
- windows下搭建Kafka运行环境
- 使用Windows 7- 64位更新Android SDK Tools rev 19 to rev
- cygwin – 用Cywgin启动X.
- .net – System.Windows.Forms.WebBrowser:强制X86?
- windows – 为什么自定义光标图像显示不正确?
- windows 用浏览器打开应用程序的方法
- 高收益的笨办法:暴破在Windows提权中的应用
- 在windows平台下采用electron-packager打包electron程序为.
- windows-7 – Windows 7上的Visual Studio 2012仍然要求使用