Avatar billede schris Praktikant
25. september 2009 - 08:16 Der er 3 kommentarer og
1 løsning

fjernelse af 5 bytes fra start af fil

Hej!

Nogen der har en løsning til fjernelse af første 5 bytes i en større mængde filer på én gang? Gerne en "bat-fil løsning" eller en lille exe :-)
Avatar billede arne_v Ekspert
26. september 2009 - 01:40 #1
Det er nok nemmest at programmere sig ud af det.

Men du kører vel ikke EXE filer fra fremmede mennesker.

Her er et lille kode stykke i Python som fjerner de første 5 bytes fra filer såfremt:
- de er i samme dir
- filerne ikke er større end at de kan være i memory

Begge restriktioner kan naturligvis fjernes ved at lave koden lidt mere avanceret.

import sys
import glob

def skip5(fnm):
    fin = open(fnm, 'rb')
    skip = fin.read(5)
    keep = fin.read()
    fin.close()
    fout = open(fnm, 'wb')
    fout.write(keep)
    fout.close()

if __name__ == '__main__':
    spec = sys.argv[1]
    allfnm = glob.glob(spec)
    for fnm in allfnm:
        skip5(fnm)
Avatar billede arne_v Ekspert
26. september 2009 - 01:41 #2
Selvforklarende eksempek på kørsel:

C:\>python skip5.py *.tst
Avatar billede schris Praktikant
26. september 2009 - 10:03 #3
Fandt ud at bruge cygwin og kørte føælgende fra bashen

for f in *; do dd if=$f of=$f skip=5 bs=1; done

hvilket klarede jobbet - men tak for buddene :-)
Avatar billede schris Praktikant
28. maj 2010 - 21:53 #4
selvklaret
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester