免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3773 | 回复: 4
打印 上一主题 下一主题

system函数执行外部带参数的程序的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-14 10:08 |只看该作者 |倒序浏览
我想在perl调用外部的可执行程序,比如执行notepad,代码可以这样
system 'notepad';
system 'notepad new.txt';#用notepad文件new.txt

用chrome浏览器打开 test.html

system 'c:/program/chrome.exe test.html';#

以上代码都可以运行, 但是假如可执行文件的路径有空格, 或者参数路径有空格,则执行会失败,比如

system 'd:/program/my chrome/chrome.exe  E:/test folder/test.html';#
以上代码想用d:/program/my chrome/下的chrome打开 E:/test folder/test.html,  结果是失败的

可以使用 chdir 当前目录设置为d:/program/my chrome, 然后再把test.html拷贝到该目录下;
另外也可以将d:/program/my chrome添加到环境变量,然后chdir 'E:/test folder'

不过这2个方法都是取巧的办法,有没有其他办法可以顺利执行
system 'd:/program/my chrome/chrome.exe  E:/test folder/test.html';所代表的意图呢

小弟不才,望指教

论坛徽章:
0
2 [报告]
发表于 2013-05-14 10:40 |只看该作者
试试
  1. system('d:/program/my chrome/chrome.exe', 'E:/test folder/test.html');
复制代码

论坛徽章:
0
3 [报告]
发表于 2013-05-14 10:43 |只看该作者
本帖最后由 wsxedcer 于 2013-05-14 10:44 编辑

回复 1# zk1878
  1. system(q#"C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" "E:\360云盘\PDF教材类\Perl\IntermediatePerl(第一版 中英文对照 1-12章).html"#)
复制代码

论坛徽章:
0
4 [报告]
发表于 2013-05-14 12:55 |只看该作者
回复 2# xfoucs
这个可以,谢谢

   

论坛徽章:
0
5 [报告]
发表于 2013-05-14 12:56 |只看该作者
回复 3# wsxedcer

这个也可以,谢谢
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP