Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
应用程序中的vb.net参数/命令行_Vb.net - Fatal编程技术网

应用程序中的vb.net参数/命令行

应用程序中的vb.net参数/命令行,vb.net,Vb.net,我想创建自己的命令行。(作为windows应用程序,而不是提示符) 示例:-f{filepath}-d{filename}在textbox1中 -f C://Windows/Users/Myname/Documents -d junk.exe 因此,它必须过滤文件路径和文件名 所以它变成了这个my.computer.filesystem.delete(“C://Windows/Users/Myname/Documents”,“junk.exe”) 谢谢 您可以通过以下方式获取命令行参数: Di

我想创建自己的命令行。(作为windows应用程序,而不是提示符) 示例:
-f{filepath}-d{filename}
在textbox1中

-f C://Windows/Users/Myname/Documents -d junk.exe
因此,它必须过滤文件路径和文件名 所以它变成了这个
my.computer.filesystem.delete(“C://Windows/Users/Myname/Documents”,“junk.exe”)


谢谢

您可以通过以下方式获取命令行参数:

Dim arguments As String() = Environment.GetCommandLineArgs()

我在MSDN上找到了它。

您可以使用此函数获取所需参数的值(参数名称必须包含“-”符号)

如果将此函数用作
GetParameter(“-f”)
,并且命令行参数为
-f C://Windows/Users/Myname/Documents-d junk.exe
然后您将获得
C://Windows/Users/Myname/Documents
作为输出。现在,如果您的命令行有一个空格,您可以将它括在双引号内,以避免它被解释为“多个参数”

现在,在事件处理方法(可能是单击按钮)中,您可以使用:-

My.Computer.FileSystem.Delete(GetParameter(TextBox1.Text, "-f"), GetParameter(TextBox1.Text, "-d"))

。。。完成工作。希望有帮助:-)。如果您有问题,请在下面进行评论已更新

但是如何过滤
-f
-d
之后的文本?您将得到一个包含所有参数的数组,因此第一个参数将是-f,第二个包含您的foldername,第三个包含-d,依此类推。需要一个遍历所有参数的循环(foreach…),在这个循环中,您可以分析您喜欢的任何内容。您可能希望为…下一个循环而不是foreach。。。自从foreach。。。不能保证它会以正确的顺序处理。所以类似于i as Int32=0的参数。计数-1。。。我不明白。我只是保留了这个错误:“String”类型的值不能转换为“String的一维数组”谢谢!!但是命令行在textbox1.text中,而不是在cmd提示符中。我该如何编码才能从文本框中获取它?我看不到你所做的编辑?对不起,我非常感谢你和其他人的帮助。我不太擅长编码,这就是为什么我使用vb.net。当我在文本框1中找到行
“-d hello”
并单击按钮1
MsgBox(GetParameter(“-d”)
时,它会给我
C:\Users\Kennen\AppData\Local\Temporary Projects\WindowsApplication1\bin\Debug\WindowsApplication1.vshost.exe
哦,编辑没有显示出来。等等,过一会儿我再试一次。Youuureee。。。欢迎就您所知,regex部分是模拟实际的命令行字符串解码行为。
My.Computer.FileSystem.Delete(GetParameter(TextBox1.Text, "-f"), GetParameter(TextBox1.Text, "-d"))