在我的VB.NET应用程序中从命令提示符执行命令列表

时间:2014-02-25 12:00:36

标签: vb.net windows batch-file cmd

我正在尝试从我正在开发的应用程序中实现以下目标。

点击按钮,在特定位置创建一个文件夹(在GUI中设置。)我需要隐藏此文件夹,这样即使用户点击“查看隐藏项目”选项,它们也不会能够看到这个文件夹。我试过这样做:

            Dim di As DirectoryInfo

        di = Directory.CreateDirectory(path) 'path is a variable with the location

        di.Attributes = FileAttributes.System
        di.Attributes = FileAttributes.Hidden

然而,这不起作用。作为替代方案,我使用应用程序创建了文件夹,并在cmd提示符中执行了以下代码:

attrib +s +h D:\Documents\FolderName

这样可以工作,即即使检查了隐藏的项目,它也会隐藏文件夹。

我想知道的是,为什么我可以在我的应用程序中打开cmd提示符,为了参数,单击创建文件夹按钮,并在命令提示符中执行此代码?我尝试使用

process.start("cmd.exe", "attrib +s +h D:\Documents\FolderName")

但这不起作用。它只是打开cmd提示符,并将目录设置为我的应用程序调试文件夹。

我的问题是,如何从我的VB.NET应用程序中执行命令行语句,并在执行语句后关闭cmd提示符?我想在我的解决方案中添加一个新的“控制台应用程序”项目,但我没有使用它的经验。

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:2)

您不需要执行attrib(顺便说一下,可以通过依赖Process类来完成),只需使用Attributes属性即可。示例代码:

Dim di As DirectoryInfo = New DirectoryInfo(Path)
di.Create()
di.Attributes = FileAttributes.System Or FileAttributes.Hidden