gpt4 book ai didi

windows - 传递参数和文件名?

转载 作者:可可西里 更新时间:2023-11-01 11:37:25 24 4
gpt4 key购买 nike

我需要编写一个 VB.Net Winform 应用程序,该应用程序通过资源管理器中的 Windows 上下文菜单调用并且可以采用多个参数,其中最后一个参数是包含空格的文件的完整路径。

我尝试了以下参数,但无济于事:

This is a test "%1" -> this
"This is a test "%1"" -> This is a test C:\Program
"This is a test" "%1" -> This is a test
"This is a test "%1%"" -> This is a test

有人知道如何让 Windows 传递文件名的完整路径吗?

谢谢。

最佳答案

Windows 正在传递完整路径。您只是在解析它时遇到问题。

This is a test "%1" -> This is a test "C:\Program Files\Blah blah"
-> cmdArgs(0) = "This"
-> cmdArgs(1) = "is"
-> cmdArgs(2) = "a"
-> cmdArgs(3) = "test"
-> cmdArgs(4) = "C:\Program Files\Blah blah"

在上面的示例中,由于短语“This is a test”中的单词没有引号,因此它们作为单独的命令行参数传递。

"This is a test "%1"" -> "This is a test "C:\Program Files\Blah blah""
-> cmdArgs(0) = "This is a test "
-> cmdArgs(1) = "C:\Program"
-> cmdArgs(2) = "Files\Blah"
-> cmdArgs(3) = "blah"

在第二个示例中,您在 %1 之前插入的引号终止了第一个参数,实际文件名未被引号引起来。

"This is a test" "%1" -> "This is a test" "C:\Program Files\Blah blah"
-> cmdArgs(0) = "This is a test"
-> cmdArgs(1) = "C:\Program Files\Blah blah"

在第三个示例中,两个参数分别被引用,因此它们作为两个参数干净地到达您的程序。这是你应该使用的。您的问题是您只查看 cmdArgs(0) 并忽略 cmdArgs 其余部分中的其他内容。特别是,您忘记查看文件名所在的 cmdArgs(1)

关于windows - 传递参数和文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7848158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com