1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Datei per Batch umbenennen

Discussion in 'Programmieren' started by completelylost, Oct 30, 2008.

Thread Status:
Not open for further replies.
  1. Hallo liebe Programmierer,

    Batchdateien sind leider komplettes Neuland für mich. Ich weiß nur, dass sie sehr praktisch sind, wenn sie dann mal laufen. :-)

    Mein Problem ist folgendes: Wir haben in unserer Firma ein Programm, aus dem wir laufend Daten exportieren müssen. Das Programm kann aber nur Ausspielungen mit dem Namen liste.dat erzeugen (andere Bezeichnungen lassen sich nicht einstellen, fragt nicht...).

    Je nach Inhalten sollen sie aber z.B. inventar.dat oder kunden.dat heißen. Da sich die Dateien in ihrer Größe unterscheiden, wollte ich dieses Merkmal als Auswahlkriterium verwenden.

    Leider weiß ich nicht, wie ich das anstellen soll. Im Prinzip suche ich etwas in der Art von:

    Code:
    IF [I](liste.dat größer als 250k)[/I] GOTO inventar
    IF [I](liste.dat kleiner als 250k)[/I] GOTO kunden
    
    :inventar
    
    GOTO end
    ren liste.dat inventar.dat
    
    :kunden
    ren liste.dat kunden.dat
    
    GOTO end
    
    :end 
    
    Für den Fall, dass es wichtig ist: Wir reden von einer stinknormalen Batchdatei unter Windows.

    Ich bin wirklich dankbar für jeden Hinweis, wie ich die Dateigröße auslesen kann.

    Viele Grüße

    Ulli
     
  2. Hnas2

    Hnas2 Ganzes Gigabyte

    Die Größe einer Datei erhältst du mit dem "dir"-Befehl.
     
  3. kazhar

    kazhar Viertel Gigabyte

    mit dem dir befehl wirds in einer batch recht bald langweilig :rolleyes:

    sieh mal nach was die hilfe zu den grundbefehlen set, for und if ausspuckt. damit lässt sich ganz einfach das gewünschte zusammenbasteln:

     
    Last edited: Oct 31, 2008
  4. Herzlichen Dank für die schnellen Antworten.

    @kazhar: Dein Code läuft super. ;) Jetzt muss ich ihn nur noch verstehen (diese FOR-Schleifen sind mir noch immer ein Buch mit 7 Siegeln), um ihn irgendwann mal zu erweitern (z.B. das Erstellungsdatum in den Namen einbauen, etc.). Aber für den Moment bin ich einfach nur happy.

    Liebe Grüße

    Ulli
     
  5. kazhar

    kazhar Viertel Gigabyte

    die for schleife brauche das script um die datei-repräsentation, die zum namen liste.dat passt, in die variable %%f reinzukriegen.

    der zusatz ~z in %%~zf extrahiert/expandiert aus der datei-representation dann die dateigröße, die dann in der if-abfrage per GTR (greater) mit 256000 (=250*1024) verglichen wird.

    ich denke die umbenennung selber ist dann trivial...
     
  6. ahhh.... so ganz langsam dämmert es (Dauert im Winter ja immer etwas länger :-) ). Danke für die Erklärung
     
Thread Status:
Not open for further replies.

Share This Page