shell 打开文件

编程知识 更新时间:2023-04-07 17:39:18
我们都知道shell语句可以执行主程序打开某一文件,比如c:盘符有一excel文件123.xls,我们可以使用以下语句来打开它
shell "excel.exe c:\123.xls"
如果123.xls是在c:\program files下呢,我们是否仍可采用以下语句结构来打开它
shell"excel.exe c:\program files\123.xls"
答案是否定的,即路径名含有空格,你再如此调用将会绊个跟头。为什么?因为Shell的第一个参数(字符串)既要包含文件名又要包含命令行,它怎么分哪?只有用空格来区分。所以,一旦路径中包含空格,它就会就查找空格前的文件,并自作聪明地加上exe(或com等其他可执行类扩展名)后执行,这样当然是失败的(因为C:\program.exe是不存在的)。如何解决?
我们可以采取以下语句来补救
shell "excel.exe ""c:\program files\123.xls"""(注意红色字符段中的空格)

如果文件名是一变量,我们又该如何表示呢,比如
filename="c:\program files\123.xls",我们能否采用以下语句
shell"excel.exe "& filename
答案是不行滴,因为变量中的空格存在,我们又该作何处理呢,其实也是我这几年对shell语句用法的一些探索和总结,
我们稍作处理就不会害怕空格这只讨厌的苍蝇了,请看下面:
filename=chr(34) & "c:\program files\123.xls" & chr(34)
shell"excel .exe " & filename(注意红色字符段中的空格)

更多推荐

shell 打开文件

本文发布于:2023-04-07 17:39:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/f6acb105c3b7eb661b7e2cf8bc165acc.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件   shell

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 54266文章数
  • 14阅读数
  • 0评论数