【问题标题】:How to Check what a folder name is inside another folder如何检查另一个文件夹中的文件夹名称
【发布时间】:2014-12-13 01:13:53
【问题描述】:

我需要能够检查网络上计算机上文件夹内的文件夹名称,然后如果以一种方式命名,则相应地设置我的按钮。例如,我有 2 个按钮,一个表示培训,一个表示生产,他们所做的只是将网络上计算机上的文件夹重命名为正确的名称,以便训练其 DEV 和生产其 DEVx。因此,当应用程序加载时,我希望它禁用当前设置的按钮。因此,如果文件夹名为 DEV,则它会禁用训练按钮,如果它的 DEVx 则禁用生产按钮。

这是我目前所拥有的 所有代码都是 Visual Basic

Public Class Form1

    Private Sub SetTraining227_Click(sender As Object, e As EventArgs) Handles SetTraining227.Click
        My.Computer.FileSystem.RenameDirectory("\\amti-0321\c$\temp\DEVx", "DEV")
        My.Computer.FileSystem.RenameDirectory("\\amti-0448\c$\temp\DEVx", "DEV")
        My.Computer.FileSystem.RenameDirectory("\\amti-0207\c$\temp\DEVx", "DEV")
        My.Computer.FileSystem.RenameDirectory("\\amti-0304\c$\temp\DEVx", "DEV")
        My.Computer.FileSystem.RenameDirectory("\\amti-0005\c$\temp\DEVx", "DEV")
        My.Computer.FileSystem.RenameDirectory("\\amti-0227\c$\temp\DEVx", "DEV")
        My.Computer.FileSystem.RenameDirectory("\\amti-0134\c$\temp\DEVx", "DEV")
        My.Computer.FileSystem.RenameDirectory("\\amti-0295\c$\temp\DEVx", "DEV")
        My.Computer.FileSystem.RenameDirectory("\\amti-0387\c$\temp\DEVx", "DEV")
        My.Computer.FileSystem.RenameDirectory("\\amti-0210\c$\temp\DEVx", "DEV")
        My.Settings.lastSet227 = "training"
        My.Settings.Save()
        setting227.Text = "Training"
        setprod227.Enabled = True
        SetTraining227.Enabled = False

    End Sub

    Private Sub setprod227_Click(sender As Object, e As EventArgs) Handles setprod227.Click
        My.Computer.FileSystem.RenameDirectory("\\amti-0321\c$\temp\DEV", "DEVx")
        My.Computer.FileSystem.RenameDirectory("\\amti-0448\c$\temp\DEV", "DEVx")
        My.Computer.FileSystem.RenameDirectory("\\amti-0207\c$\temp\DEV", "DEVx")
        My.Computer.FileSystem.RenameDirectory("\\amti-0304\c$\temp\DEV", "DEVx")
        My.Computer.FileSystem.RenameDirectory("\\amti-0005\c$\temp\DEV", "DEVx")
        My.Computer.FileSystem.RenameDirectory("\\amti-0227\c$\temp\DEV", "DEVx")
        My.Computer.FileSystem.RenameDirectory("\\amti-0134\c$\temp\DEV", "DEVx")
        My.Computer.FileSystem.RenameDirectory("\\amti-0295\c$\temp\DEV", "DEVx")
        My.Computer.FileSystem.RenameDirectory("\\amti-0387\c$\temp\DEV", "DEVx")
        My.Computer.FileSystem.RenameDirectory("\\amti-0210\c$\temp\DEV", "DEVx")
        My.Settings.lastSet227 = "prod"
        My.Settings.Save()
        setting227.Text = "Production"
        setprod227.Enabled = False
        SetTraining227.Enabled = True
    End Sub

    Private Sub QuitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles QuitToolStripMenuItem.Click
        End
    End Sub
End Class

所以我让它在每次加载按钮时保存其当前状态并将另一个按钮设置为禁用,但是因为其他用户也会使用这个系统,所以最好只设置基于哪个按钮被禁用关于文件夹名称的当前状态。

【问题讨论】:

标签: vb.net directory detect


【解决方案1】:

您可以使用Directory.ExistsDirectory.GetDirectories 检查“\amti-0321\c$\temp\DEV”是否存在,并适当设置按钮状态。

但是,这可能不是确定培训或生产状态的最佳方法,因为它假定仅存在一组目录。此外,最好在路径中使用字符串常量以外的其他内容。

【讨论】:

  • 嗯,那里永远只有一个文件夹,或者说应该永远只有一个文件夹。正在切换的应用程序仅检查培训文件夹是否作为 DEV 存在,如果存在,则将其从中提取的服务器设置为培训服务器,以便可以重命名任何内容,然后它将使用生产服务器
最近更新 更多