尝试删除文件夹中的所有文件,在c#中删除2个选定的文件

时间:2015-10-21 13:50:13

标签: c# delete-file

我只是想写一个简单的程序来清除我的" Path"文件夹exept为2 .exe文件预选。问题是我只成功删除了第一个(file1.exe)。 我究竟做错了什么?请原谅我,如果我使用的是逻辑运算符,但在这一刻就像我的脑袋即将爆炸......

function load_recipients() {
    return $.ajax({
        url: base_url + "recipients/get/",
        type: "POST",
        data: { 
            packets_id : packets_id
        },
        success: function(response_data) {
            recipient_list = JSON.parse(response_data);
            if(recipient_list.hasOwnProperty('error')) {
                 // Make ALL functions stop and throw error message
            } else {
                console.log("Everything is fine");
            }
        },
        error: function(jqXHR){
            // Make ALL functions stop and throw error message
        }
    });
}

2 个答案:

答案 0 :(得分:3)

根据您的情况使用&&代替||

if (name != "file1.exe" && name != "file2.exe")

您还可以使用LINQ表达式过滤掉文件,如:

var filePaths = Directory.GetFiles(Path)
                        .Where(r=> !r.Equals("file1.exe", StringComparison.InvariantCultureIgnoreCase)
                                   && !r.Equals("file2.exe", StringComparison.InvariantCultureIgnoreCase));

然后你可以这样做:

foreach (string filePath in filePaths)
{
    File.Delete(filePath);
}

答案 1 :(得分:0)

你基本上是在说,如果名字不等于" file1.exe"或者名字!=" file2.exe"然后删除文件路径,问题是您正在使用OR逻辑运算符,因此它只删除一个。尝试使用&&。