Vb.net 如何按顺序执行两个命令

Vb.net 如何按顺序执行两个命令,vb.net,Vb.net,我也尝试过使用“&”,但没有成功 Private Sub btnUnHide_Click(sender As Object, e As EventArgs) Handles btnUnHide.Click Dim path As String fdbUnHide.ShowDialog() path = fdbUnHide.SelectedPath RunCommandCom(path) End Sub Shared Sub RunCommandCom(pat

我也尝试过使用“&”,但没有成功

Private Sub btnUnHide_Click(sender As Object, e As EventArgs) Handles btnUnHide.Click
    Dim path As String
    fdbUnHide.ShowDialog()
    path = fdbUnHide.SelectedPath
    RunCommandCom(path)
End Sub



Shared Sub RunCommandCom(path As String)
    Dim unhide As String = "attrib -r -s -h /s /d"
    Try
        Shell("cmd.exe /C cd " & path)
        Shell("cmd.exe /C" & unhide)         
End Sub

有人能帮我吗?

以下是如何在.net中取消隐藏文件夹和文件的方法

     Shell("cmd.exe /C cd " & path "& " & unhide)
这些属性是按位标记。您需要在顶部导入system.io

注意:此答案解决了问题中提出的问题,但它肯定不是取消隐藏文件夹及其文件的最佳方法

中介绍了最佳和推荐方法

当前代码的问题是,在与符(
&
)之前缺少一个空格

这:

基本上变成:

"cmd.exe /C cd " & path & "& " & unhide
…使
成为路径的一部分。您需要在其前面添加一个空格:

"cmd.exe /C cd C:\your\path& attrib -r -s -h /s /d"
但是请注意,
Shell()
是VB6时代的过时函数,不应使用。“执行commads”(或更准确地说:启动流程)时,应使用:


好的,按顺序执行其他命令怎么样,是相同的方式吗?不需要更改目录命令…shell不是运行可执行文件的方式…但这是执行特定任务的方式。顺便说一句,上面的命令不起作用。我将代码调整为您的,并运行它,但在选择路径后,该命令没有取消隐藏该目录中的文件。您是否选择了文件名或文件夹名…您的初始代码暗示了一个文件夹,因为它使用CD命令了解您的请求,当您在Google中键入该问题时会发生什么,点击次数是多少?从我的搜索中,在显示的前几页中,精确地显示你想要做什么。我的上帝!最后非常感谢你。卢尔盖特:很高兴我能帮上忙。尽管您仍然应该尝试Ctznkane525的edit,因为执行另一个进程是一个非常不必要的瓶颈。如果您试图取消隐藏的文件是系统文件,那么您只需在他/她的循环中添加另一行:
t.Attributes=t.Attributes,而不是FileAttributes.system
@Visual Vincent终于找到了解释OP问题的答案,这也是一个很好的答案!
"cmd.exe /C cd C:\your\path& attrib -r -s -h /s /d"
"cmd.exe /C cd " & path & " & " & unhide
Process.Start("cmd.exe", "/C cd " & path & " & " & unhide)