【问题标题】:Running CMD commands in VB with parameters在VB中运行带参数的CMD命令
【发布时间】:2017-04-15 06:43:38
【问题描述】:

我正在 Visual Studio 中创建一个应用程序。当用户单击按钮时,我希望执行以下 CMD 命令:

xcopy /s/y "C:\myfile.txt" "D:\"

我已经用 Process.Start() 试过了,但它不起作用。按钮代码为:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Process.Start("CMD", "/C xcopy /s/y "C:\myfile.txt" "D:\"")
End Sub

有谁知道我怎样才能做到这一点?我怀疑问题是由CMD命令中的/s/y参数或引号引起的。

【问题讨论】:

    标签: vb.net visual-studio cmd


    【解决方案1】:

    您的代码无法编译:您需要转义字符串中的双引号。在 VB.NET 中,您使用双双引号转义引号:

    Process.Start( "CMD", "/C xcopy /s/y ""C:\myfile.txt"" ""D:\""" )
    

    【讨论】:

    • 这很好用,谢谢!但是,单击按钮后命令提示符窗口保持打开状态。你知道我如何在执行 xcopy 后自动关闭它,比如 exit 命令甚至更好,根本不向用户显示 CMD 屏幕吗?
    • @elton73: xcopy /?
    • @elton73 : 请参阅this,并在最后一个引号之前附加& exit
    • @Visual Vincent:作为 VB 的新手,我不确定如何将这个答案应用到我的代码中。这不起作用: Process.Start( "CMD", "/C xcopy /s/y ""C:\myfile.txt"" ""D:\"" & exit" )。
    • @elton73 :那至少应该关闭它。我链接到你的答案可以复制粘贴并写下你的论点来代替CmdStrstartInfo.Arguments = "/C xcopy /s/y ""C:\myfile.txt"" ""D:\"" & exit"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多