smux
Goto Top

BATCH Dateien automatisch nach ftp abruf umbennen

output.20061220000605 Endung mit in Dateiname übernehmen

Moin Moin!

Ein Programm liefert mir täglich (nachts) eine Datei mit folgendem Format output.20061220000605 auf meinem Server. Diese Datei wird täglich gelöscht, es ändert sich aber in der Dateinamenserweiterung die Ziffern. Jetzt hole ich diese Datei täglich per Batch vom FTP Server ab. Da ich die Datei aber so nicht weiter automatisch weiterbearbeiten kann, versuche ich, über eine Batchdatei den Dateinamen folgendermaßen ändern zu lassen:

Alter Name:
output.20061220000605

Neuer Name so:
20061220.cvs


Hat jemand eine Idee bzw. ist es möglich?

Wäre für jede Hilfe sehr dankbar!

PS.:

laufen soll es auf Windows XP

Content-Key: 47237

Url: https://administrator.de/contentid/47237

Printed on: April 25, 2024 at 08:04 o'clock

Member: Biber
Biber Dec 21, 2006 at 13:20:40 (UTC)
Goto Top
Moin smux,

Skizze vom CMD-Prompt:
(=14:15:38  D:\temp=)
>for %i in (output.200*) do @set "newname=%~xi" & @echo ren %i !newname:~1,8!.cvs  
ren output.20061220000605 20061220.cvs

Als Batch-Mehrzeiler ohne EnableDelayedExpansion:
::------- snipp RenameAsCVS.bat
@echo off & setlocal
for %%i in (output.200*) do call :renameIt %%i %%~xi
goto :eof

:renameIt
set "newname=%2"   
ren %1 %newname:~1,8%.cvs
::------- snapp RenameAsCVS.bat
[Ungetestete Skizze, sinnvollerweise gehört noch eine Pfadangabe vor die output.200*-Wildcard]

HTH Biber
Member: smux
smux Dec 22, 2006 at 06:53:53 (UTC)
Goto Top
Moin Biber!

Funktioniert bestens! Dankeschön...

Gibt es eigentlich auch irgendeine Möglichkeit diese täglich abgerufenen Dateien, wöchentlich zu einer zu machen? Der Inhalt besteht nur aus Zeichen oder Strings. Die einzelnen Spalten sind durch Leerzeichen getrennt. Unter Unix könnte man es ja ohne weiteres mit dem Befehl cat [dateien] > wochendatei bewerkstelligen, unter Windows hab ich (noch) keine Ahnung ;)


Jemand einen Tipp?

[EDIT] Geht ganz einfach mit copy ;) Also copy *.txt kw51.txt ...

Frohe Weihnachten und einen guten Rutsch zusammen!