无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4752|回复: 28
打印 上一主题 下一主题

[已解决] 求创建这种快捷方式的批处理

[复制链接]
跳转到指定楼层
1#
发表于 2014-3-29 11:20:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 2012jc天马行空 于 2014-3-30 16:00 编辑

rt,需要创建带参数运行的chrome快捷方式的批处理



图中目标的所有内容为:

  1. "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_1 like Mac OS X; zh-tw) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8G4 Safari/6533.18.5"
复制代码



劳烦各位朋友帮帮忙,感激不尽
2#
发表于 2014-3-29 12:06:44 | 只看该作者
批处理似乎不能直接建立快捷方式。一般通过 Shell32 API 来实现。如 VBS 脚本 Wscript.CreateObject("Wscript.Shell") 并给对象设置属性。

点评

我试过了argument那里参数的括号里好像不能再有括号,否则会出问题,请问怎么解决  详情 回复 发表于 2014-3-29 20:48
回复

使用道具 举报

3#
发表于 2014-3-29 12:26:27 | 只看该作者
用pecmd可以轻松搞定
link %desktop%\chrome iphone,C:\Program Files (x86)\Google\Chrome\Application\chrome.exe,--user-agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_1 like Mac OS X; zh-tw) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8G4 Safari/6533.18.5"

点评

我这个不是要在pe下使用的,请问不用pecm的话怎么解决?如果cmd命令行不行,用脚本等也可以,还请大神帮忙看看  详情 回复 发表于 2014-3-29 20:50
回复

使用道具 举报

4#
 楼主| 发表于 2014-3-29 20:48:48 | 只看该作者
2013_top398 发表于 2014-3-29 12:06
批处理似乎不能直接建立快捷方式。一般通过 Shell32 API 来实现。如 VBS 脚本 Wscript.CreateObject("Wscri ...

我试过了argument那里参数的括号里好像不能再有括号,否则会出问题,请问怎么解决
回复

使用道具 举报

5#
 楼主| 发表于 2014-3-29 20:50:25 | 只看该作者
阿弥陀佛 发表于 2014-3-29 12:26
用pecmd可以轻松搞定
link %desktop%\chrome iphone,C:\Program Files (x86)\Google\Chrome\Application\c ...

我这个不是要在pe下使用的,请问不用pecm的话怎么解决?如果cmd命令行不行,用脚本等也可以,还请大神帮忙看看
回复

使用道具 举报

6#
发表于 2014-3-30 09:07:00 | 只看该作者
vbs脚本应该是可以的。不过我也不会。搜索试试吧

点评

嗯,还是谢谢您了  详情 回复 发表于 2014-3-30 10:16
回复

使用道具 举报

7#
 楼主| 发表于 2014-3-30 10:16:39 | 只看该作者
阿弥陀佛 发表于 2014-3-30 09:07
vbs脚本应该是可以的。不过我也不会。搜索试试吧

嗯,还是谢谢您了
回复

使用道具 举报

8#
发表于 2014-3-30 11:37:59 | 只看该作者
试一下下面这个,保存为.vbs脚本
  1. on error resume next
  2. Set WshShell = WScript.CreateObject("WScript.Shell")
  3. strDesktop = WshShell.SpecialFolders("AllUsersDesktop") '在桌面创建一个快捷方式
  4. set oShellLink = WshShell.CreateShortcut(strDesktop & "\Chrome.lnk")   '名称
  5. oShellLink.TargetPath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"      '目标
  6. oShellLink.WindowStyle = 3    '窗口样式  1默认窗口激活,参数3最大化激活,参数7最小化
  7. oShellLink.Hotkey = "F3"         '快捷键
  8. oShellLink.IconLocation = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe,0"     '图标
  9. oShellLink.Description = "Chrome"      '备注
  10. oShellLink.WorkingDirectory = "C:\Program Files (x86)\Google\Chrome\Application"     '起始位置
  11. oShellLink.Arguments = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_1 like Mac OS X; zh-tw) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8G4 Safari/6533.18.5"    '参数
  12. oShellLink.Save     '保存
  13. Set WshShell = NoThing
  14. Wscript.Quit
复制代码

评分

参与人数 1无忧币 +5 收起 理由
2012jc天马行空 + 5 谢谢您的指教,问题解决了

查看全部评分

回复

使用道具 举报

9#
发表于 2014-3-30 11:50:48 | 只看该作者
  1. oShellLink.TargetPath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
  2. oShellLink.Arguments = "--user-agent=""Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_1 like Mac OS X; zh-tw) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8G4 Safari/6533.18.5"""
复制代码


代码楼主相信已经有了。关键在于分开设置 TargetPath 和 arguments 属性。而且中间有双引号,需用两个双引号表示。

点评

多谢大神指教,问题终于解决  发表于 2014-3-30 12:11
你说的正是我的困惑所在,我马上试试看  详情 回复 发表于 2014-3-30 11:58

评分

参与人数 1无忧币 +5 收起 理由
2012jc天马行空 + 5 赞一个!

查看全部评分

回复

使用道具 举报

10#
 楼主| 发表于 2014-3-30 11:58:21 | 只看该作者
2013_top398 发表于 2014-3-30 11:50
代码楼主相信已经有了。关键在于分开设置 TargetPath 和 arguments 属性。而且中间有双引号,需用两个 ...

你说的正是我的困惑所在,我马上试试看

点评

你的问题和括号无关,就是要分开设置可执行目标和参数,并注意参数中双引号的处理(快捷方式中目标的双引号是自动添加的)。  详情 回复 发表于 2014-3-30 12:02
回复

使用道具 举报

11#
发表于 2014-3-30 12:02:32 | 只看该作者
2012jc天马行空 发表于 2014-3-30 11:58
你说的正是我的困惑所在,我马上试试看

你的问题和括号无关,就是要分开设置可执行目标和参数,并注意参数中双引号的处理(快捷方式中目标的双引号是自动添加的)。

点评

另外再问您一下,我把新近txt黏贴vbs代码后更改后缀为vbs,为什么电脑双击这个vbs一点反应都没有,但是其他的vbs脚本运行却正常啊?然后我通过cmd命令cscript调用就可以了是怎么回事?  详情 回复 发表于 2014-3-30 12:44
再请教您一下,argument后的参数是不是有长度限制,如下面的: 在快捷方式中只能显示到  详情 回复 发表于 2014-3-30 12:39
回复

使用道具 举报

12#
 楼主| 发表于 2014-3-30 12:39:51 | 只看该作者
2013_top398 发表于 2014-3-30 12:02
你的问题和括号无关,就是要分开设置可执行目标和参数,并注意参数中双引号的处理(快捷方式中目标的双引 ...


再请教您一下,argument后的参数是不是有长度限制,如下面的:
  1. oShellLink.Arguments = "--user-agent=""Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; H30-U10 Build/HuaweiH30-U10) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.0 Mobile Safari/537.36"" --user-data-dir=""d:\temp\data\8"""
复制代码


在快捷方式中只能显示到
  1. "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-agent="Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; H30-U10 Build/HuaweiH30-U10) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.0 Mobile Safari/537.36" --user-data-dir="d:\te
复制代码


有没有办法让它添加任意长度字符

点评

限制肯定是有的,否则写个1G长度的参数也行吧。我计算了一下,参数到 \te 处共是197 字节,目标 exe 全路径长度 59 字节,加起来 = 256,看来这就是长度限制。COM 调用是这样,我也测试了在 GUI 界面下修改快捷方式  详情 回复 发表于 2014-3-30 13:10
回复

使用道具 举报

13#
 楼主| 发表于 2014-3-30 12:44:49 | 只看该作者
2013_top398 发表于 2014-3-30 12:02
你的问题和括号无关,就是要分开设置可执行目标和参数,并注意参数中双引号的处理(快捷方式中目标的双引 ...

另外再问您一下,我把新近txt黏贴vbs代码后更改后缀为vbs,为什么电脑双击这个vbs一点反应都没有,但是其他的vbs脚本运行却正常啊?然后我通过cmd命令cscript调用就可以了是怎么回事?

点评

这个可能是你保存的最后一段扩展名并不是 .vbs,也许保存成了 xxx.vbs.txt,你可以确认一下。 个人推荐一个文本编辑器 AkelPad。  详情 回复 发表于 2014-3-30 13:13
回复

使用道具 举报

14#
发表于 2014-3-30 13:10:38 | 只看该作者
2012jc天马行空 发表于 2014-3-30 12:39
再请教您一下,argument后的参数是不是有长度限制,如下面的:

限制肯定是有的,否则写个1G长度的参数也行吧。我计算了一下,参数到 \te 处共是197 字节,目标 exe 全路径长度 59 字节,加起来 = 256,看来这就是长度限制。COM 调用是这样,我也测试了在 GUI 界面下修改快捷方式,在编辑框里加上这个长参数,也是到 \te 处被截断。看来这是由系统所决定的长度,作为用户是不能改变了。

一个变通的解决办法,你可以把主程序移到一个较短的路径里面,这样就可以保持参数完整了。

点评

嗯,改了主程序目录确实可行,多谢你了  详情 回复 发表于 2014-3-30 13:16
回复

使用道具 举报

15#
发表于 2014-3-30 13:13:14 | 只看该作者
2012jc天马行空 发表于 2014-3-30 12:44
另外再问您一下,我把新近txt黏贴vbs代码后更改后缀为vbs,为什么电脑双击这个vbs一点反应都没有,但是其 ...

这个可能是你保存的最后一段扩展名并不是 .vbs,也许保存成了 xxx.vbs.txt,你可以确认一下。
个人推荐一个文本编辑器 AkelPad。

点评

是不是创建vbs的方式有问题,我看了,后缀是对的 [attachimg]190465[/attachimg] 通过cmd命令cscript creat.vbs可行是不是因为编译器的原因 另外一个奇特现象,我通过everything搜索保存的creat.vbs并双击就  详情 回复 发表于 2014-3-30 13:21
回复

使用道具 举报

16#
 楼主| 发表于 2014-3-30 13:16:39 | 只看该作者
2013_top398 发表于 2014-3-30 13:10
限制肯定是有的,否则写个1G长度的参数也行吧。我计算了一下,参数到 \te 处共是197 字节,目标 exe 全路 ...

嗯,改了主程序目录确实可行,多谢你了
回复

使用道具 举报

17#
 楼主| 发表于 2014-3-30 13:21:46 | 只看该作者
2013_top398 发表于 2014-3-30 13:13
这个可能是你保存的最后一段扩展名并不是 .vbs,也许保存成了 xxx.vbs.txt,你可以确认一下。
个人推荐 ...

是不是创建vbs的方式有问题,我看了,后缀是对的


通过cmd命令cscript creat.vbs可行是不是因为编译器的原因

另外一个奇特现象,我通过everything搜索保存的creat.vbs并双击就行,什么情况?



回复

使用道具 举报

18#
发表于 2014-3-30 13:33:18 | 只看该作者
本帖最后由 2013_top398 于 2014-3-30 13:36 编辑

据你所说,不是文件扩展名的问题。

你说“双击这个vbs一点反应都没有”,因为你复制的这段代码默认应该是不输出任凭内容,因此不会有任何窗口出现,相当于静默运行。

所以关键是双击后是否生成了快捷方式(也就是脚本确实运行了)?

你可以试试在代码中或最后加上一行:
  1. msgbox "运行完成"
复制代码

这样也可以直观确认到底脚本有没有“反应”。

但你又说 Everything 查找到的双击后有“反应”,这一点我也不是很理解,又是怎么个“反应”法?你干脆把这个 vbs 作为附件发上来看看。

点评

您好,问题解决了,错误在于我电脑上没有public用户,把原来代码 改成就正常了  详情 回复 发表于 2014-3-30 13:59
我发现好像跟系统权限有关,直接双击好像权限不够  详情 回复 发表于 2014-3-30 13:48
回复

使用道具 举报

19#
 楼主| 发表于 2014-3-30 13:48:06 | 只看该作者
本帖最后由 2012jc天马行空 于 2014-3-30 13:54 编辑
2013_top398 发表于 2014-3-30 13:33
据你所说,不是文件扩展名的问题。

你说“双击这个vbs一点反应都没有”,因为你复制的这段代码默认应该 ...


我发现好像跟系统权限有关,直接双击好像权限不够
去掉on error resume next这行后发现错误原因,应该就是不够权限


creat.vbs.rar (660 Bytes, 下载次数: 3)
回复

使用道具 举报

20#
发表于 2014-3-30 13:56:27 | 只看该作者
从你的截图来看,你当前账户是 p... 什么的,似乎不是管理员。又把你的附件里文件解出来看了一下权限,有个“Authenticated Users”只有修改权限(我都是  Administrator 登录,没接触到这个用户组),而 Adminiistrators 有完全权限,Users 有修改和执行权限。

因此,你那个账户是否是归于 “Authenticated Users” 一组的?

确实是要注意文件的创建者和最后的使用者的权限。

评分

参与人数 1无忧币 +5 收起 理由
2012jc天马行空 + 5 多谢大神不厌其烦的解答

查看全部评分

回复

使用道具 举报

21#
 楼主| 发表于 2014-3-30 13:59:37 | 只看该作者
2013_top398 发表于 2014-3-30 13:33
据你所说,不是文件扩展名的问题。

你说“双击这个vbs一点反应都没有”,因为你复制的这段代码默认应该 ...

您好,问题解决了,错误在于我电脑上没有public用户,把原来代码
  1. strDesktop = WshShell.SpecialFolders("AllUsersDesktop")
复制代码


改成
  1. strDesktop = WshShell.SpecialFolders("Desktop")
复制代码
就正常了

点评

解决了就好。软硬件环境各种各样,出的问题也各种各样。 不过还是那段代码不很完善,没有一句错误检查。  详情 回复 发表于 2014-3-30 14:09
回复

使用道具 举报

22#
发表于 2014-3-30 14:09:20 | 只看该作者
2012jc天马行空 发表于 2014-3-30 13:59
您好,问题解决了,错误在于我电脑上没有public用户,把原来代码

解决了就好。软硬件环境各种各样,出的问题也各种各样。

不过还是那段代码不很完善,没有一句错误检查。

点评

嗯,长见识了,再次谢谢了  详情 回复 发表于 2014-3-30 14:25
回复

使用道具 举报

23#
 楼主| 发表于 2014-3-30 14:25:18 | 只看该作者
2013_top398 发表于 2014-3-30 14:09
解决了就好。软硬件环境各种各样,出的问题也各种各样。

不过还是那段代码不很完善,没有一句错误检查 ...

嗯,长见识了,再次谢谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 20:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表