/ Forside / Teknologi / Operativsystemer / MS Windows / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS Windows
#NavnPoint
Klaudi 76474
o.v.n. 67550
refi 58409
tedd 45557
Manse9933 45149
molokyle 40687
miritdk 38357
briani 27239
BjarneD 26414
10  pallebhan.. 24310
Automatisk zipning af 'ens' filer...
Fra : Michael Grønbech Lar~


Dato : 04-05-05 14:27

Hej!
Jeg vil gerne lave et script af en eller anden art, der kan sortere og zippe
filer af typen .dem
Der kan ligge X antal filer af typen og de er navngivet som nedenstående:

hold1-hold2-0504252103-de_inferno.dem
hold1-hold2-0504252146-de_train.dem
hold1-hold3-0505022009-de_inferno.dem
hold7-hold1-0505041419-de_nuke.dem

Det, jeg gerne vil have, er at filer, der indeholder de samme to holdnavne
og den samme dato, bliver zippet i én fil.

Det vil sige at ovenstående filer, ville ende med:

hold1-hold2-050425.zip
hold1-hold3-050522.zip
hold7-hold1-050504.zip

Kan dette laves og hvordan?

Takker på forhånd!!

/Michael



 
 
Brian Elmegaard (04-05-2005)
Kommentar
Fra : Brian Elmegaard


Dato : 04-05-05 14:42

"Michael Grønbech Larsen" <michael@g-web.dk> writes:

> Kan dette laves og hvordan?

Helt sikkert.

En metode: Download python (http://python.org), læs tutorialen og
benyt zipfile og string.

--
Brian (remove the sport for mail)
http://www.et.dtu.dk/staff/be/be.html

Michael (05-05-2005)
Kommentar
Fra : Michael


Dato : 05-05-05 09:20

> Helt sikkert.
>
> En metode: Download python (http://python.org), læs tutorialen og
> benyt zipfile og string.

Lyder som om du har prøvet noget lignende... Har du et eksempel på noget
kode?

/Michael



Brian Elmegaard (07-05-2005)
Kommentar
Fra : Brian Elmegaard


Dato : 07-05-05 09:32

"Michael" <gider@ikke.invalid> writes:

> Lyder som om du har prøvet noget lignende... Har du et eksempel på noget
> kode?

Følgende er på det nærmeste utestet men virker tror jeg.

import zipfile
import string
import os


l=os.listdir(os.getcwd())

hold1='hold1'
hold2='hold2'
dato='050425'
zipfile=zipfile.ZipFile(hold1+'_'+hold2+'_'+dato+'.zip','w')

for file in l:
filid=string.split(file,'_')
if (filid[0]==hold1 or filid[0]==hold2) and \
(filid[1]==hold1 or filid[1]==hold2) and \
filid[2][:5]==dato:
   zipfile.write(file)

zipfile.close()



--
Brian (remove the sport for mail)
http://www.et.dtu.dk/staff/be/be.html

Michael (07-05-2005)
Kommentar
Fra : Michael


Dato : 07-05-05 13:14


> import zipfile
> import string
> import os
>
>
> l=os.listdir(os.getcwd())
>
> hold1='hold1'
> hold2='hold2'
> dato='050425'
> zipfile=zipfile.ZipFile(hold1+'_'+hold2+'_'+dato+'.zip','w')
>
> for file in l:
> filid=string.split(file,'_')
> if (filid[0]==hold1 or filid[0]==hold2) and \
> (filid[1]==hold1 or filid[1]==hold2) and \
> filid[2][:5]==dato:
> zipfile.write(file)
>
> zipfile.close()

Uden at kende sproget ser det for mig ud som om at koden 'kræver' at hold1,
hedder hold1 - det er nok mig, der har formuleret det uklart, men
hold-navnene kan være alt muligt tilfældigt. Scriptet skal selv 'læse' og
genkende således at kampe mellem de to samme hold den samme dag bliver
pakket i samme fil.

/Michael



Rado (07-05-2005)
Kommentar
Fra : Rado


Dato : 07-05-05 18:55

On Wed, 4 May 2005 15:26:36 +0200, "Michael Grønbech Larsen"
<michael@g-web.dk> wrote:

>Hej!
>Jeg vil gerne lave et script af en eller anden art, der kan sortere og zippe
>filer af typen .dem

Kig evt. på Second Copy - jeg vil umiddelbart tro det kan gøre det
der, og uden at du behøver at programmere:

http://www.centered.com/


--
Rado

Always listen to experts. They will explain what can't be done
and why. Then do it. - Robert Heinlein

Bertel Brander (08-05-2005)
Kommentar
Fra : Bertel Brander


Dato : 08-05-05 00:56

Michael Grønbech Larsen wrote:
> Hej!
> Jeg vil gerne lave et script af en eller anden art, der kan sortere og zippe
> filer af typen .dem
> Der kan ligge X antal filer af typen og de er navngivet som nedenstående:
>
> hold1-hold2-0504252103-de_inferno.dem
> hold1-hold2-0504252146-de_train.dem
> hold1-hold3-0505022009-de_inferno.dem
> hold7-hold1-0505041419-de_nuke.dem
>
> Det, jeg gerne vil have, er at filer, der indeholder de samme to holdnavne
> og den samme dato, bliver zippet i én fil.
>
> Det vil sige at ovenstående filer, ville ende med:
>
> hold1-hold2-050425.zip
> hold1-hold3-050522.zip
> hold7-hold1-050504.zip
>
> Kan dette laves og hvordan?

Man kunne bruge en bat-fil med følgende

@echo off
setlocal

for /F "tokens=1-3 delims=-" %%A in ('dir /B *.dem') do call :Process
%%A %%B %%C
goto :eof

:Process
set DDD=%3
set DDD=%DDD0,6%
set ZipFileName=%1-%2-%DDD%.zip
if exist %ZipFileName% goto :eof
zip.exe %ZipFileName% %1-%2-%DDD%*.dem


Jeg har brugt cygwin zip, da det var den jeg havde ved hånden,
hvis du bruger et andet zip program skal du måske justere
sidste linie.

Scriptet går ud fra at .zip filer og .dem filer ligger i samme
mappe, hvis de ikke skal det, er det letteste nok at flytte
zip filerne bagefter.

--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
But it's mine - Bertel

Søg
Reklame
Statistik
Spørgsmål : 177511
Tips : 31968
Nyheder : 719565
Indlæg : 6408596
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste