簡體   English   中英

在自己內部移動文件夾的最佳方法是什么?

[英]What is the best way to move a folder inside itself?

假設我要移動一個文件夾,而以前的內容為空,但對於新文件夾,我將如何最好地使用代碼進行處理。 通常,在資源管理器中,您可以通過剪切文件夾的內容並將其放置在原始文件夾內創建的新文件夾中來進行此操作。

原始路徑:C:\\ Users \\ Previous

新路徑:C:\\ Users \\ Previous \\ Previous

  1. 確定臨時文件夾:c:\\ user \\ temp
  2. 使用“從c:\\ user \\ previous移至:c:\\ user \\ temp”將目錄移至
  3. 與重命名的臨時文件夾移動從C:\\用戶\\溫度到c:\\用戶\\以前

由於要將文件夾及其內容移動到同名子文件夾中,可以執行以下操作:

private void button1_Click(object sender, EventArgs e)
{
    CopyContentsToSubFolderWithSameName(@"C:\Users\Previous");
}

private void CopyContentsToSubFolderWithSameName(string path)
{
    DirectoryInfo currDir = new DirectoryInfo(path);
    DirectoryInfo subDir =
        Directory.CreateDirectory(Path.Combine(currDir.FullName, currDir.Name));
    IEnumerable<DirectoryInfo> parentFolders = 
        subDir.Parent.EnumerateDirectories();

    // Copy files in the current directory to the destination directory
    foreach (FileInfo file in currDir.GetFiles())
    {
        file.MoveTo(Path.Combine(subDir.FullName, file.Name));
    }

    // Copy directories (including files) in the current directory 
    // to the destination directory
    foreach (DirectoryInfo dir in parentFolders)
    {
        if (dir.Name != subDir.Name)
        {
            dir.MoveTo(Path.Combine(subDir.FullName, dir.Name));
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM