C# ASP.NET Windows控制台文件+;要压缩的文件名
我需要将文件从文件夹X压缩到文件夹Y。当文件夹X中的文件压缩到文件夹Y时,需要删除文件夹X中的文件。zip名称必须是该文件夹中包含.DBS的文件的名称 所以我需要读取.DBS文件的文件名。然后,我需要将文件夹X中的所有文件压缩到文件夹Y中,名称为:“Filename”(这与.DBS文件相同),如果文件已压缩且位于文件夹Y中,则需要将其从文件夹X中删除 我现在得到的代码将把文件夹X的文件也移动到Y。所以这是一个开始。我的问题是如何获得文件名以及zip文件夹名 代码: 提前谢谢。(只解释这么多,因为我知道你,你需要学习这些东西,哟:p) 您可以尝试类似的方法,阅读代码中的注释以了解更多信息,此代码仅显示如何压缩文件夹中的所有文件,请尝试自己添加某些扩展名的下一步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文件夹名 代码: 提前谢谢。(只解释这么多,因为
//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);