如果将多个选中文件作为命令参数传给程序,我们知道它是用空格隔开各个文件名了.这样就出现问题,长文件名中是可以有空格的,那就不好区分作为分隔符的空格和文件名里的空格了.那么怎样使这样的命令行参数可以不与长文件名发生冲突?

解决方案 »

  1.   

    文件名不能包含下列字符之一:
    /\:<>|"*?
    由于\会在路径中使用,建议使用其他几个作为分隔符。
      

  2.   

    命令行参数当然支持长文件名,这不是由你的程序决定的事情,而只是必须你要告诉系统,你需要传递长文件名!
    常见设定传递文件名做命令行参数的可能用途就是:通过注册表让自已程序关联特定文件类型。
    一般写入键值类似这种形式:{app_path}\myprog.exe %1
    这样写是不支持长文件名的,
    换种写法:"{app_path}\myprog.exe" "%1"
    多个引号就可以了^_^
      

  3.   

    我用加引号的写法写注册表,在右键菜单中添加一个项目,该项将执行一个程序,只有一句:MsgBox Command().执行时发现即使选择多个文件它也是一个文件名一个MsgBox地显示的,那是不是说明它把一个参数分给一个程序实例而不是在一个程序中处理所有的参数?那样的话不是我想要的效果啊.