我想创建自己的命令行。(作为Windows应用程序,不提示)
示例:textbox1中的-f {filepath} -d {filename}
-f C://Windows/Users/Myname/Documents -d junk.exe
所以它必须过滤文件路径和文件名
所以它变成了这个my.computer.filesystem.delete("C://Windows/Users/Myname/Documents", "junk.exe")
谢谢!
答案 0 :(得分:0)
您可以通过以下方式获取命令行参数:
Dim arguments As String() = Environment.GetCommandLineArgs()
我在MSDN上发现了这个。
答案 1 :(得分:0)
您可以使用此功能获取所需参数的值(参数名称必须包含' - '符号。)
Public Function GetParameter(input As String, param As String) As String
Dim cmdargs As New List(Of String)
For Each item As Match In Regex.Matches(input, """(\\""|[^""])*?""|[^ ]+")
If item.ToString()(0) = """" And item.ToString()(item.ToString.Length - 1) = """" Then
cmdargs.Add(item.ToString().Remove(0, 1).Remove(item.ToString.Length - 2, 1))
Else
cmdargs.Add(item.ToString())
End If
Next
Return cmdargs(cmdargs.ToList().LastIndexOf(param) + 1)
End Function
如果您将此函数用作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"))
......完成工作。希望能帮助到你 :-)。如果您有任何疑问,请在下面发表评论。的更新强>