C# ASP.NET Windows控制台文件+;要压缩的文件名

C# ASP.NET Windows控制台文件+;要压缩的文件名,c#,asp.net,C#,Asp.net,我需要将文件从文件夹X压缩到文件夹Y。当文件夹X中的文件压缩到文件夹Y时,需要删除文件夹X中的文件。zip名称必须是该文件夹中包含.DBS的文件的名称 所以我需要读取.DBS文件的文件名。然后,我需要将文件夹X中的所有文件压缩到文件夹Y中,名称为:“Filename”(这与.DBS文件相同),如果文件已压缩且位于文件夹Y中,则需要将其从文件夹X中删除 我现在得到的代码将把文件夹X的文件也移动到Y。所以这是一个开始。我的问题是如何获得文件名以及zip文件夹名 代码: 提前谢谢。(只解释这么多,因为

我需要将文件从文件夹X压缩到文件夹Y。当文件夹X中的文件压缩到文件夹Y时,需要删除文件夹X中的文件。zip名称必须是该文件夹中包含.DBS的文件的名称

所以我需要读取.DBS文件的文件名。然后,我需要将文件夹X中的所有文件压缩到文件夹Y中,名称为:“Filename”(这与.DBS文件相同),如果文件已压缩且位于文件夹Y中,则需要将其从文件夹X中删除

我现在得到的代码将把文件夹X的文件也移动到Y。所以这是一个开始。我的问题是如何获得文件名以及zip文件夹名

代码:

提前谢谢。

(只解释这么多,因为我知道你,你需要学习这些东西,哟:p)

您可以尝试类似的方法,阅读代码中的注释以了解更多信息,此代码仅显示如何压缩文件夹中的所有文件,请尝试自己添加某些扩展名的下一步

//files to zip, you can also use the same method as above to let the user determine what path to zip
string path = @"C:\Users\WsLocal.NL-ROE2-W297\Pictures";            
string zipPath = @"C:\Users\WsLocal.NL-ROE2-W297\Desktop\zip\result.zip";            

//zip files
ZipFile.CreateFromDirectory(path, zipPath);
string[] files = Directory.GetFiles(path);

//some debugging
foreach (string filePath in files)
{
    Console.WriteLine(filePath);
}
//wait untill user presses enter
Console.ReadLine();
[编辑]

将zip文件名设置为文件名:

替换

string zipPath = @"C:\Users\WsLocal.NL-ROE2-W297\Desktop\zip\result.zip";

删除

string[] files = Directory.GetFiles(path);


string[]files=System.IO.Directory.GetFiles(路径“*.DBS”)这将检索扩展名为.DBS的所有文件名。这就是你需要的吗?@bkaf是的,这就是我需要的,但我的邮政编码仍然不起作用。你知道我应该怎么做才能解决这个问题吗?@bkaf我应该放在哪里:string[]files=System.IO.Directory.GetFiles(startPath,“*.DBS”);在我的代码中?嘿,Luuk,我如何从我的.dbs文件中为zip文件命名?还有,如果文件是压缩的,我如何从ramasoft文件夹中删除这些文件?string[]files=Directory.GetFiles(path);给出了一个错误。文件已在此作用域中定义如果已定义,请删除它,如果您正在使用另一个路径但仍然能够使用另一个路径,请重命名它,或者删除发生错误行上
文件
前面的
字符串[]
,您能解释一下代码以便我可以从中学习吗?特别是:string[]files=Directory.GetFiles(path);字符串zipName=files[0]。替换(路径“”);int index=zipName.IndexOf(“.”);如果(索引>0)zipName=zipName.Substring(0,索引);字符串zipPath=@“C:\Users\WsLocal.NL-ROE2-W297\Desktop\zip\”+zipName+“.zip”;
//get all files from directory decladed by path
string[] files = Directory.GetFiles(path);
//select the 1st one and delete the folder information so just the file name is left with it's extention
string zipName = files[0].Replace(path, "");

//delete the extention
int index = zipName.IndexOf(".");
if (index > 0)
     zipName = zipName.Substring(0, index);

//assemble the zip location with the generated file name         
string zipPath = @"C:\Users\WsLocal.NL-ROE2-W297\Desktop\zip\"+ zipName + ".zip";   
string[] files = Directory.GetFiles(path);
//zip files
ZipFile.CreateFromDirectory(path, zipPath);