Wöchentlich Daten packen zippen verschieben und Originale löschen
Hallo,
ich hab im Unternehmen folgendes Problem.
Eine Messmaschine schreibt unheimlich viele kleine Dateien auf den dazugehörigen Messrechner.
Das raussuchen von einzelnen Messdaten wird dadurch zum Krampf.
Daher der Wunsch/die Idee ein Skript zu schreiben welches 1x p. Woche die Messdaten packt/zippt, in einen Archiv Unterordner verschiebt und die Originaldaten danach löscht.
Hab aber keine Ahnung von Skripts.
Aktuell habe ich mit 7zip folgendes zusammen geschrieben:
Dazu ist zusagen ich teste das ganze im Moment lokal
C:\Users\BenutzerkontoXY\Desktop\7ZipBackup\7z u %date%_backup.7z -up1q3r2x1y2z1w2 -ssw @"C:\Users\BenutzerkontoXY\Desktop\files.txt"
Inhalt files.txt
"C:\Users\BenutzerkontoXY\Desktop\TEST"
Die files.txt gibt nur an wo die Quelldaten liegen
Wie unschwer zu erkennen ist nutze ich das 7z dazu.
Bin auch für andere Lösungsansätze offen.
Die wöchentliche Routine würde ich einfach über die Aufgabenplanung dann laufen lassen.
Vielen Dank
Mfg
ich hab im Unternehmen folgendes Problem.
Eine Messmaschine schreibt unheimlich viele kleine Dateien auf den dazugehörigen Messrechner.
Das raussuchen von einzelnen Messdaten wird dadurch zum Krampf.
Daher der Wunsch/die Idee ein Skript zu schreiben welches 1x p. Woche die Messdaten packt/zippt, in einen Archiv Unterordner verschiebt und die Originaldaten danach löscht.
Hab aber keine Ahnung von Skripts.
Aktuell habe ich mit 7zip folgendes zusammen geschrieben:
Dazu ist zusagen ich teste das ganze im Moment lokal
C:\Users\BenutzerkontoXY\Desktop\7ZipBackup\7z u %date%_backup.7z -up1q3r2x1y2z1w2 -ssw @"C:\Users\BenutzerkontoXY\Desktop\files.txt"
Inhalt files.txt
"C:\Users\BenutzerkontoXY\Desktop\TEST"
Die files.txt gibt nur an wo die Quelldaten liegen
Wie unschwer zu erkennen ist nutze ich das 7z dazu.
Bin auch für andere Lösungsansätze offen.
Die wöchentliche Routine würde ich einfach über die Aufgabenplanung dann laufen lassen.
Vielen Dank
Mfg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator tomolpi am 06.01.2020 um 14:02:32 Uhr
Kategorie geändert
Content-ID: 532109
Url: https://administrator.de/contentid/532109
Ausgedruckt am: 14.11.2024 um 15:11 Uhr
3 Kommentare
Neuester Kommentar
Zitat von @aqui:
Habe ich verschoben.Hab aber keine Ahnung von Skripts.
Dann wäre das doch sicher in der Rubrik Batch & Shell besser aufgehoben damit einer der Wizzards dort dir was "basteln" kann, oder ?! LG
tomolpi
Moderator
Ich setze bei sowas immer auf kleine c# Programme. Lad dir Visual Studio herunter und pass es an deine Bedürfnisse an. In meinem Beispiel wird die datei Test.txt in ein 7zip Archiv gepackt und anschließend in den Unterorder Archiv verschoben. Falls das Archiv existiert, wird die Test.txt Datei gelöscht.
using System;
using System.Diagnostics;
using System.IO;
using System.Threading.Tasks;
namespace Archivieren
{
class Program
{
static string date = System.DateTime.Now.ToString().Replace(".", "");
static string newdate = date.Substring(0, 8);
static void Main(string args)
{
ProgrammStart();
Console.ReadLine();
}
static async void ProgrammStart()
{
await Task.Run(() => { Zippen(); });
await Task.Delay(500);
if (File.Exists("D:\\" + newdate + ".zip"))
{
File.Move("D:\\" + newdate + ".zip", "D:\\archive\\" + newdate + ".zip");
Console.WriteLine("Lösche Datei");
File.Delete("D:\\test.txt");
}
else
{
Console.WriteLine("ZIP wurde nicht erstellt.Fehler.");
};
Console.WriteLine("Beende..");
System.Environment.Exit(0);
}
static Task<int> Zippen()
{
var tcs = new TaskCompletionSource<int>();
Process rdcProcess = new Process();
string executable3 = Environment.ExpandEnvironmentVariables(@"C:\\Program Files\\7-Zip\\7z.exe");
if (executable3 != null)
{
rdcProcess.StartInfo.FileName = executable3;
rdcProcess.StartInfo.Arguments = "a D:\\" + newdate + ".zip D:\\test.txt";
rdcProcess.Start();
}
return tcs.Task;
}
}
}