Ergebnis 1 bis 9 von 9

Thema: Batch Datei zum Ordner erstellen

  1. #1
    Herzlich willkommen!
    Registriert seit
    23.03.13
    Beiträge
    4

    Batch Datei zum Ordner erstellen

    Hallo,
    wenn ich z.B. über Tubebox ein neues Lied herunterlade, wird es ja immer im Ordner C:\Users\**username**\Documents\TubeBox gespeichert.
    Das wird aber mit der Zeit immer unübersichtlicher.
    Deshalb möchte ich eine .batch Datei programmieren, die erkennt, wenn eine neue Datei in den Ordner verschoben wird, dann einen neuen Ordner nach dem aktuellen Datum benennt, z.B. 2013_03_23 und dann die Datei darein kopiert. Ich weiß, dass man sowas mit php machen kann, aber dafür müsste ich ja immer einen Browser öffnen, oder? Ist das überhaupt mit batch realisierbar, oder geht das sogar noch besser mit einer anderen Programmierersprache? Da ich leider kein batch kann, würde ich euch auch bitten, hier vielleicht sogar ein paar Zeilen hinzuschreiben, damit ich mir nicht alles "ergooglen" muss.
    Ich hoffe ihr könnt mir helfen.
    LG nexalaxy

  2.   Anzeige

     
  3. #2
    assimiliert Avatar von Palladin007
    Registriert seit
    19.08.11
    Ort
    NRW
    Beiträge
    2.244

    AW: Batch Datei zum Ordner erstellen

    Willkommen nexalaxy

    Also wenn ich so ein Programm schreiben würde, dann wäre das sowas wie eine Schleife, die regelmäßig die Dateinamen der Ordners abfragt und abspeichert. Wenn eine Datei neu ist, dann ist in der neuen Liste der Dateien ein Name drin, der in der alten Liste nicht vorhanden ist und damit weiß das Programm, die Datei ist neu und kann sie gesondert abspeichern. Das wäre mit Batch möglich, auch wenn es wahrscheinlich recht viel Leistung fordern würde, für so ein kleines Programm.

    Natürlich kann ich auch jede Datei automatisch in einen Ordner schieben, der als Namen das Datum trägt, an dem sie erstellt wurde. Das ist allerdings nicht mit Batch möglich, zumindest nicht bei meinem derzeitigen Wissensstand.

    Als Programmiersprache nutze ich C#, was allerdings an das .NET-Framework und damit an Windows gebunden ist, damit ist beides sicher möglich.
    Ich kann dir da was programmieren.


    PS:
    Mit egal welcher Programmiersprache müsste das Programm allerdings dauerhaft im Hintergrund arbeiten. Bei C# würde ich das unsichtbar hin kriegen können, aber dennoch muss das Programm dauerhaft an sein und in einer Schleife laufen.
    Das lässt sich nur umgehen, wenn man das Programm, mit dem du downloadest, entsprechend erweitern kann, damit es die Dateien gleich passend abspeichert, doch da kann ich dir nicht helfen.

  4. #3
    Herzlich willkommen!
    Registriert seit
    23.03.13
    Beiträge
    4

    AW: Batch Datei zum Ordner erstellen

    Das wäre richtig nett von dir, wenn du mir sowas programmieren könntest.
    Bei C# würde dann eine .exe Datei rauskommen, oder?

  5. #4
    assimiliert Avatar von Palladin007
    Registriert seit
    19.08.11
    Ort
    NRW
    Beiträge
    2.244

    AW: Batch Datei zum Ordner erstellen

    Ja, das ergibt dann eine exe-Datei. Allerdings brauchst du das .NET-Framework 4.0, aber das ist bei Windows schon von Haus aus dabei.


    Du musst mir aber noch sagen, welche der beiden Herangehensweisen du haben willst. Jede Datei automatisch in einen Ordner, benannt nach dem Erstell-Datum, verschieben, oder nur die neu folgenden Dateien entsprechend verschieben. Bei der ersten Variante würden alle bereits vorhandenen Dateien erst in die Ordner kopiert werden.


    Und hast du meinen Zusatz oben gelesen?

  6. #5
    Herzlich willkommen!
    Registriert seit
    23.03.13
    Beiträge
    4

    AW: Batch Datei zum Ordner erstellen

    Ja dann mach das lieber in C#.
    Und ich hab mir das so vorgestellt:
    Im Ordner ....\Tubebox liegt die batch Datei, wenn ich dann was runterlade kopiert Tubebox die mp3 Datei in den Ordner rein. Dann erstellt die batch Datei einen neuen Ordner, je nachdem heutigen Datum, also z.B. für heute "2013_03_23". Dann soll die gerade in den Ordner Tubebox kopierte mp3 Datei noch in den gerade erstellten Ordner verschoben werden.

  7. #6
    assimiliert Avatar von Palladin007
    Registriert seit
    19.08.11
    Ort
    NRW
    Beiträge
    2.244

    AW: Batch Datei zum Ordner erstellen

    Also kopieren muss ich das vorher nicht, ich leg die gleich in den entsprechenden Datums-Ordner ^^
    Sollen beim ersten Start alle enthaltenen Dateien erst einmal in die Ordner sortiert werden, oder können die bleiben?

    Sollen alle Dateien kopiert werden? Oder nur bestimmte Datei-Typen?

    PS: Hab grad gelesen, mp3-Dateien, also werden halt nur mp3-Dateien kopiert, oder auch weitere?

  8. #7
    Herzlich willkommen!
    Registriert seit
    23.03.13
    Beiträge
    4

    AW: Batch Datei zum Ordner erstellen

    1. Nein, hab das schon durch mühselige Handarbeit gemacht -.-
    2. Nein, verschieben reicht
    3. Ich habe da eh nur .mp3 Dateien drin

  9. #8
    assimiliert Avatar von Palladin007
    Registriert seit
    19.08.11
    Ort
    NRW
    Beiträge
    2.244

    AW: Batch Datei zum Ordner erstellen

    Also der aktuelle Stand sieht so aus:

    Das Programm sammelt alle Dateien im Ordner, in dem die exe gestartet wurde und verschiebt jede Datei in einen neuen Ordner, der den Namen des Datums trägt, an dem die jeweilige Datei gestartet wurde. Existiert der Ordner bereits, wird sie nur dort hinein geschoben.
    Dieser Ablauf wiederholt sich jede Sekunde, also eine neue Datei wird fast sofort verschoben.

    Beim Start des Programms wird eine Meldung angezeigt, dass die Datei-Verwaltung aktiv ist. Danach schließt sich das Fenster und das Programm arbeitet ohne sichtbare Oberfläche im Hintergrund. Schließen musst du es über den Task-Manager.
    Leider hab ich es bis jetzt nicht hin gekriegt, eine Tasten-Kombination einzubauen, sodass es sich damit schließen lässt. Im Task-Manager findest du das Programm unter Prozesse und der Abbildname ist der gleiche, wie der Name der exe-Datei.

    Ich kann natürlich auch die Konsole zeigen, dann wird da die Meldung angezeigt und wenn du die Konsole schließt, ist das Programm auch aus, aber dann hast du das Programm als Fenster und auch in der Task-Leiste, was ich eigentlich blöde finde für ein Programm, das unsichtbar im Hintergrund arbeiten soll.


    Den Code für diejenigen, die es interessiert, habe ich hier:
    PHP-Code:
    using System;
    using System.Collections.Generic;
    using System.IO;
    using Shell32;
    using System.Windows.Forms;
    using System.Reflection;
    using System.Threading;

    namespace 
    Tools
    {
        static class 
    Program
        
    {
            static 
    void Main(string[] args)
            {
                
    MessageBox.Show("Die automatische Datei-Verwaltung wurde gestartet.""FileManagement: Info"MessageBoxButtons.OK);
                for (;;)
                {
                    foreach (var 
    item in Directory.GetFiles(Environment.CurrentDirectory))
                    {
                        if (
    item == Assembly.GetExecutingAssembly().Location) continue;
                        
    string directoryName GetDirectoryName(DateTime.Parse(new FileInfo(item).GetDetails()["Erstelldatum"]).Date);
                        if (!
    Directory.Exists(directoryName)) Directory.CreateDirectory(directoryName);
                        
    File.Move(itemGetValidateFileName(Path.Combine(directoryNamePath.GetFileName(item))));
                    }
                    
    Thread.Sleep(1000);
                }
            }
            static 
    string GetValidateFileName(string name)
            {
                
    int i 0;
                while (
    File.Exists(name + (== "" " [" i.ToString() + "]"))) i++;
                return 
    name + (== "" " [" i.ToString() + "]");
            }
            static 
    string GetDirectoryName(DateTime date)
            {
                return (
    date.Day 10 "0" date.Day.ToString() : date.Day.ToString() + "_" + (date.Month 10 "0" date.Month.ToString() : date.Month.ToString()) + "_" date.Year.ToString());
            }
            static 
    Dictionary<stringstringGetDetails(this FileInfo fiint IndexCounter 300)
            {
                
    Dictionary<stringstringret = new Dictionary<stringstring>();
                var 
    shl = (Shell)Activator.CreateInstance(Type.GetTypeFromProgID("Shell.Application"));
                
    Folder folder shl.NameSpace(fi.DirectoryName);
                
    FolderItem item folder.ParseName(fi.Name);
                for (
    int i 0IndexCounteri++)
                {
                    
    string dtlDesc folder.GetDetailsOf(nulli);
                    
    string dtlVal folder.GetDetailsOf(itemi);
                    if (
    dtlVal == null || dtlVal == "") continue;
                    
    ret.Add(dtlDescdtlVal);
                }
                return 
    ret;
            }
        }

    Angehängte Dateien Angehängte Dateien

  10. #9
    assimiliert Avatar von Palladin007
    Registriert seit
    19.08.11
    Ort
    NRW
    Beiträge
    2.244

    AW: Batch Datei zum Ordner erstellen

    Was ich doch immer ziemlich doof schade finde, ist, wenn man sich die Arbeit macht um jemandem zu helfen und nicht mal eine Rückmeldung erhält, dass die Hilfe gut war, geschweige denn ein Danke.

Ähnliche Themen

  1. Batch Datei schreiben - Ordner nach Dateinamen benennen
    Von SchnuppiMann im Forum Programmierung & Webdesign
    Antworten: 15
    Letzter Beitrag: 10.11.12, 18:40
  2. Batch Datei per Batch umbenennen, sichern und neue Datei einspielen
    Von Rocco1980 im Forum Programmierung & Webdesign
    Antworten: 5
    Letzter Beitrag: 25.05.12, 11:50
  3. [BATCH bzw. VBS] Ordner durchsuchen und dann datei ändern
    Von CreamyCewie im Forum Programmierung & Webdesign
    Antworten: 6
    Letzter Beitrag: 18.11.11, 20:07
  4. [gelöst] Batch | Ordner erstellen wenn er existiert umbenennen.
    Von Palladin007 im Forum Programmierung & Webdesign
    Antworten: 6
    Letzter Beitrag: 13.09.11, 20:46
  5. Ordnerbackup via Batch-Datei erstellen?
    Von thebe im Forum Programmierung & Webdesign
    Antworten: 12
    Letzter Beitrag: 06.01.09, 17:48

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •