フォルダXからフォルダYにファイルを圧縮する必要があります。フォルダXのファイルがフォルダYに圧縮されると、フォルダXのファイルを削除する必要があります。 zipの名前は、そのフォルダ内の.DBSを持つファイルの名前でなければなりません。ASP.NET Windowsコンソールファイル+ ZIPへのファイル名
だから、.DBSファイルのファイル名が何であるかを知る必要があります。次に、フォルダXのすべてのファイルをフォルダYに「zip」します(これは.DBSファイルと同じです)。ファイルが圧縮されていて、フォルダYに入っている場合は、フォルダXから削除する必要があります
私が今入手したコードは、フォルダXのファイルもYに移動します。これが始まりです。私の質問は、ファイルの名前もzipフォルダ名にする方法です。
コード:事前に
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.IO.Compression;
namespace Ramasoftzipper
{
class Program
{
static void Main(string[] args)
{
string fileName = @"160001.DBS";
string sourcePath = @"C:\RMExport";
string targetPath = @"C:\Exportrm";
string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
string destFile = System.IO.Path.Combine(targetPath, fileName);
string startPath = @"C:\RMExport";
string zipPath = (fileName);
string extractPath = @"C:\Exportrm";
if (!System.IO.Directory.Exists(targetPath))
{
System.IO.Directory.CreateDirectory(targetPath);
}
System.IO.File.Copy(sourceFile, destFile, true);
if (System.IO.Directory.Exists(sourcePath))
{
string[] files = System.IO.Directory.GetFiles(sourcePath);
foreach (string s in files)
{
fileName = System.IO.Path.GetFileName(s);
destFile = System.IO.Path.Combine(targetPath, fileName);
System.IO.File.Copy(s, destFile, true);
ZipFile.CreateFromDirectory(startPath, zipPath);
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
else
{
Console.WriteLine("Source path does not exist!");
}
}
}
}
感謝。
'文字列[]ファイル=のSystem.IO.Directory.GetFiles(パスを削除、 " * .DBS ");' .DBS拡張子を持つすべてのファイル名を取得します。それはあなたが必要とするものですか? – bkaf
@bkafはいthats私が必要とするが、私の郵便番号はまだ動作していない。私はそれを解決するために何をすべきか知っていますか? – mrminer
@bkafどこに配置する必要がありますか?string [] files = System.IO.Directory.GetFiles(startPath、 "* .DBS");私のコードでは? – mrminer