Batch Hilfe

Hallo allerseits,

(WinXPP) brauche mal wieder Starthilfe:
Ich habe einen Stapel Dateien mit unbestimmten Namen und unbestimmter Menge. Von denen will ich per cmd- oder bat-Script die neuste Datei in einen definierten Namen umbenennen.
Beispiel: 060216_0939.jpg -> aktuell.jpg

  1. Wie ermittle ich per script (batch) den Namen der neusten Datei?
    (dir /OD > %name% oder so ähnlich)
  2. Wie benenne ich sie um? Für Kommando ren benötige ich als Ausgang den Namen, den habe ich aber noch nicht…
    (sicher ren %name% aktuell.jpg oder so ähnlich)

bye und danke für’s Grübeln
Micha

Hallo Micha,

Falls Du cygwin installiert hast, muesste folgendes Skript funktionieren:

#!/bin/bash
mv `ls -t -1 | head -1` aktuell.jpg

HTH,
Puersti

Hi,

dir /O-d /b /a-d >bla.txt

-> /o-d nur Dateien keine Verzeichnisse
-> /b einfache Formatierung (keine komischen Kopfdaten)
-> /a-d neuestes zuerst

Jetzt hast ja aber lediglich ne Liste. Jetzt müsstest n einfaches Programm schreiben, welches die Zeilen einer Batchdatei übergibt (und ne Liste mit Zielnamen):

der Aufruf wäre dann rename.bat [name aus erster liste] [name aus zweiter Liste]

und drinnen müsste nur so in etwa das stehen

ren %1 %2

hth
Matze

Tach Matze,

Jetzt hast ja aber lediglich ne Liste

Hier genau liegt das Problem.

Jetzt müsstest n
einfaches Programm schreiben, welches die Zeilen einer
Batchdatei übergibt (und ne Liste mit Zielnamen):

Hi hi, hier dran habe ich einige Stunden zugebracht und aufgegeben. Habe zwar grep für Windows gefunden, hat aber immer „nicht genug Speicher“ gemeldet und so kam ein Probelm zum anderen.
Also das hier war der Punkt zum Ende.
Wenn Du hierzu noch was hättest?

bye
Micha

Hallo Puersti,

Falls Du cygwin installiert hast

ist das so 'ne Art Linux Kommandointerpreter für Windows?

muesste folgendes Skript
funktionieren:

#!/bin/bash
mv ls -t -1 | head -1 aktuell.jpg

Ich werde es testen. Danke!

bye
Micha

Hallo Micha,

Falls Du cygwin installiert hast

ist das so 'ne Art Linux Kommandointerpreter für Windows?

Nicht ganz - es enthaelt eine Sammlung von div. GNU-Utilities (welche eine grosse Verbreitung unter Linux haben) und stellt eine Linux-aehnliche Umgebung unter Windows dar. Genaueres findest Du hier: http://www.cygwin.com
Ich benutze dies sehr erfolgreich auf meinem W2K-Arbeitsrechner, um damit div. kleine Aufgaben (aehnlich Deinem Problem) schnell und effizient zu loesen. Falls es Dich interessiert: Ja, privat benutze ich hauptsaechlich Linux.

Einen schoenes WE,
Puersti

Hi Micha,

Wenn Du hierzu noch was hättest?

also das zu programmieren geht sehr easy… also wenn du Lust hast schreib ich dir das, ist in meiner ‚Muttersprache‘ ungefähr maximal 20 Zeilen…

Müsstest halt genauer spezifizieren: willst du *nur* den obersten Eintrag oder die *ganze* Liste, welche dann einzeln als Parameter für die Batchdatei aufgerufen werden??

Also den ersten Fall habe ich mal kurz geschrieben, so langweilig ists mir Freitag ‚abends‘ :wink:

[…]
mfg
Matze

[Team: Link auf Wunsch des Autors entfernt]