簡體   English   中英

將文件排序到目錄中

[英]Sorting files into directories

我的任務是將文件分類到目錄中。

我有這樣的文件:

AA12.txt
AA34.txt
AA56.txt
BB12.txt
BB34.txt
etc.

我需要創建一個函數,該函數將根據前兩個字母創建目錄並將相應的文件復制到那里。
因此,將有包含文件 AA12、AA34、AA56 的目錄 AA 和包含文件 BB12、BB34 等的目錄 BB。

AA
 |- AA12
 |- AA34
 |- AA56

BB
 |- BB12
 |- BB34

我正在考慮手動創建所有目錄,然后復制文件。

string directoryPath = @"C:\\AA";
if (!Directory.Exists(directoryPath))
{
    Directory.CreateDirectory(directoryPath);
}

但是有沒有更優雅和自動化的方式來做這樣的事情? 謝謝

感謝@Mong Zhu 指出完整路徑問題試試這個:

string path = ".";
foreach (string file in Directory.GetFiles(path))
{
    string fileName = Path.GetFileName(file);
    string dirfileName = fileName.Substring(0, 2);
    if (!Directory.Exists(dirfileName))
    {
        Directory.CreateDirectory(dirfileName);
    }

    File.Copy(path + "\\" + fileName, path + "\\" +dirfileName + "\\" + fileName);
}

感謝 Sohaib Jundi 我找到了解決方案,我是這樣做的:

string path = @"C:\\";
string destination = @"E:\\";
foreach (string fileName in Directory.GetFiles(path))
        {
            string onlyFileName = Path.GetFileName(fileName);
            string dirName = onlyFileName.Substring(0, 2);
            string dirPath = $@"{destination}\{dirName}";
            if (!Directory.Exists(dirPath))
            {
                Directory.CreateDirectory(dirPath);
            }

            File.Copy(fileName, $@"{dirPath}\{onlyFileName}");
        }

感謝 Sohaib Jundi 的幫助,希望有人會發現這很有用。

暫無
暫無

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

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