从我的 VB.NET 应用程序中在命令提示符下执行命令列表
Posted
技术标签:
【中文标题】从我的 VB.NET 应用程序中在命令提示符下执行命令列表【英文标题】:Executing a list of commands on command prompt from within my VB.NET Application 【发布时间】:2014-02-25 12:00:36 【问题描述】:我正在尝试从我正在开发的应用程序中实现以下目标。
单击按钮时,会在特定位置创建一个文件夹,(在 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 提示符?我想在我的解决方案中添加一个新的“控制台应用程序”项目,但我没有使用它的经验。
任何帮助将不胜感激。
谢谢。
【问题讨论】:
您分配了两次属性,首先分配系统属性,然后将系统属性替换为隐藏属性。请记住,该属性会替换现有属性,而不是添加或删除,因此请正确使用它。 此外,CMD 需要一个开关 (/C | /K) 来指定命令参数。 【参考方案1】:你不需要执行attrib
(顺便说一句,可以依靠Process
类来完成),只需要使用Attributes
属性即可。示例代码:
Dim di As DirectoryInfo = New DirectoryInfo(Path)
di.Create()
di.Attributes = FileAttributes.System Or FileAttributes.Hidden
【讨论】:
以上是关于从我的 VB.NET 应用程序中在命令提示符下执行命令列表的主要内容,如果未能解决你的问题,请参考以下文章
VB.Net OLEDB ExecuteNonQuery INSERT INTO - 对数据库没有影响