【发布时间】:2016-08-11 08:07:25
【问题描述】:
我正在尝试通过命令行参数将文件夹路径传递给应用程序。
问题:我的文件夹路径在其字符串中包含空格 " "。当我在应用程序中读取命令行参数时,我的路径在空间" "
Sub Main()
Dim arguments As String() = System.Environment.GetCommandLineArgs()
For Each Arg As String In arguments
Console.WriteLine("Argument : " & Arg)
Next
Console.ReadLine()
End Sub
编辑:添加代码来构建我的论点
Private Sub btn_Copy_Click(sender As Object, e As EventArgs) Handles btn_Copy.Click
Dim args(3) As String
args(0) = """" & tb_CopyFromPath.Text & """"
args(1) = """" & tb_CopyToPath.Text & """"
args(2) = """" & tb_ItemTag.Text & """"
args(3) = """" & tb_Prefix.Text & """"
Dim argument As String
argument = args(0) & " " & args(1) & " " & args(2) & " " & args(3)
Process.Start("J:\VB.NET - EM AddIn\EM_Design_AddIn\CopyDesign\bin\Debug\CopyDesign.exe", argument)
End Sub
这个结果不好。第一个路径的第一个参数现在包含第二个路径的一部分。
编辑:从调试中添加值结果。
"""C:\VaultWorkspace\cadcampc\03-Vessel configurator - R2.0\Nozzles\WN_RF_ASME_B16.5\"" ""C:\VaultWorkspace\cadcampc\03-Vessel configurator - R2.0\Test Copy Design\N03"" ""N3"" ""12345-3"""
【问题讨论】:
-
您能否在调试时为
Dim argument As String argument = args(0) & " " & args(1) & " " & args(2) & " " & args(3)提供价值? -
我有个主意 :) 您是否有机会使用双引号输入
tb_CopyFromPath.Text值?如果您在命令行中输入两个双引号"",它将像一个一样被接收。 (这是在参数中写双引号的方式) -
我添加了我的 msgbox 结果,如果需要调试,我将不得不更改一些输出设置以使事情顺利进行。
-
好吧,我把结果改成调试值了,不好看。
-
@Mech_Engineer 双引号太多。每个参数应该只有一对。结果应该是 ""C:\VaultWorkspace\cadcampc\03-Vessel configurator - R2.0\Nozzles\WN_RF_ASME_B16.5\" "C:\VaultWorkspace\cadcampc\03-Vessel configurator - R2.0\Test Copy Design\N03 ""N3""12345-3""
标签: vb.net path command-line-arguments