我有一种将文件解压缩到“解压缩”文件夹中的方法。问题是两个zip文件中存在重复的文件 - 因此,当解压缩第二个zip文件时,由于文件名已存在,该过程将失败。我决定重命名现有文件以避免此问题,但我的if(File.Exists ...)语句没有提取存在的文件。这可能是一个noob语法问题?
private void UnzipFiles()
{
sourceDirectory = @"c:\id";
unzippedDirectory = @"C:\id\z_unzipped";
processedDirectory = @"C:\id\z_processed";
// get list of files from directory and unzip them
DirectoryInfo dirInfo = new DirectoryInfo(sourceDirectory);
FileInfo[] infos = dirInfo.GetFiles("*.zip");
foreach (FileInfo f in infos)
{
if (File.Exists(unzippedDirectory + @"\" + f.Name)){
// rename existing file
File.Move(unzippedDirectory + @"\" + f.Name, unzippedDirectory + @"\" + f.Name + " renamed by " + f.Name);
}
System.IO.Compression.ZipFile.ExtractToDirectory(f.FullName, unzippedDirectory);
File.Move(f.FullName, processedDirectory + @"\" + f.Name);
}
}