Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  24 1677
Skogenskonge
Skauman's Avatar
God kveld freakere

Jeg lurte kjapt på om det er et program eller en funksjon i windows som teller filer på harddisken min?

Det jeg er ute etter er å få et nøyaktig tall på hvor mange musikk og video filer jeg har på harddisken.

Er litt for unøyaktig å åpne mappen og trykk Ctrl + A og se på tallet da det er mange under mapper.

Jeg gjorde selvfølgelig et Google søk. Søkte på File counter men da fikk jeg opp et program for Xp og eldre. Så litt nifti ut å.

Ha en ellers fin helg
Om jeg skulle gjort det veldig fort ville jeg gått for en enkel løsning i CMD. Se her for eksempel.

Start -> Kjør -> skriv CMD -> skriv inn dir "C:\folder" /b/s |find /v /c "::"

Bytt ut C:\folder med stien til mappa du skal finne filer i.
Sist endret av Gisse; 16. januar 2011 kl. 00:10.
Merk mappene du vil sjekke, høyreklikk og velg egenskaper/properties. Der står både antall filer og størrelse.
Skogenskonge
Skauman's Avatar
Trådstarter
ja men problemet er at i disse mappene ligger det ofte mange andre filer som jeg ikke vil ha telt.

sånn som undertekster og random .txt`er.

Skulle så gjerne hatt valget om hvilke filer jeg vil ha med i tellingen.
Søk etter .avi .mp3 .avi osv.. Altså søk og ".avi" fks..
Skogenskonge
Skauman's Avatar
Trådstarter
jo ja greit det men ikke så nøyaktig som jeg ønsker meg..

Men gode forslag alle sammen!

Er ute etter et program hvor man kan krysse av hvilke filer man vil søke på...
Finnes kanskje ikke..
last ned en live CD med en UNIX-variant. UNIX har mye bedre verktøy. det du er ute etter er en lek på UNIX og UNIX-lignende OS.
søk i datamaskin etter *.mov OR *.avi osv.
Satt sammen et script i python som gjør det du ønsker.
Kan jo Lage GUI til det,tar ikke så lang tid for se om jeg orker.
Python er jo greit og ha,tar 2min og installere.
Alle linux og mac versjoner har python pre installert.

Kode

import os

counter = 0
for root, dirs, files in os.walk('C:/test/'):
    for f in files:
        filename = os.path.join(root, f)
        if filename.endswith(('mp3','avi','mpg')):
            counter += 1
            print '%s \n%s' % (filename,counter)
Sist endret av snippsat; 16. januar 2011 kl. 00:44.
Skogenskonge
Skauman's Avatar
Trådstarter
nja ikke helt keen på å skifte OS skal jeg innrømme..

og det med å søke er ikke helt prikkfritt da det kommer opp mye rart...

men det går nok bra.. er ikke så viktig

Sitat av snippsat Vis innlegg
Satt sammen et script i python som gjør det du ønsker.
Kan jo Lage GUI til det,tar ikke så lang tid for se om jeg orker.
Python er jo greit og ha,tar 2min og installere.
Alle linux og mac versjoner har python pre installert.

Kode

import os

counter = 0
for root, dirs, files in os.walk('C:/test/'):
    for f in files:
        filename = os.path.join(root, f)
        if filename.endswith(('mp3','avi','mpg')):
            counter += 1
            print '%s \n%s' % (filename,counter)
Vis hele sitatet...

Oooh litt mye for meg det der ser jeg... kan se på det i morgen
1) Last ned og installer Python (http://www.python.org/download)

2) Åpne Notepad, skriv inn følgende tekst:

import os
counter = 0
for root, dirs, files in os.walk('C:/test/'):
for f in files:
filename = os.path.join(root, f)
if filename.endswith(('mp3','avi','mpg')):
counter += 1
print '%s \n%s' % (filename,counter)

3) Endre den uthevede teksten på linje tre til den filbanen du vil søke etter filer i. Endre så den uthevede teksten på linje seks til filtyper du vil søke etter.

4) Lagre filen som search.py

5) Kjør filen!

6) ???????

7) PROFIT!
Måken's Aspirant
Fleff's Avatar
Donor
De som ikke gidder å stresse med noe mer avansert enn batch

Kode

@echo off
echo angi hvor du skal s›ke, fks "C:\Programfiler"
set /p sted=:
cls
dir /b /s /A-d %sted% | find "" /v /n /c
echo filer i %sted%
pause
exit
evt download: http://www47.zippyshare.com/v/30719810/file.html
Skogenskonge
Skauman's Avatar
Trådstarter
Sitat av Shansavãri Vis innlegg
1) Last ned og installer Python (http://www.python.org/download)

2) Åpne Notepad, skriv inn følgende tekst:

import os
counter = 0
for root, dirs, files in os.walk('C:/test/'):
for f in files:
filename = os.path.join(root, f)
if filename.endswith(('mp3','avi','mpg')):
counter += 1
print '%s \n%s' % (filename,counter)

3) Endre den uthevede teksten på linje tre til den filbanen du vil søke etter filer i. Endre så den uthevede teksten på linje seks til filtyper du vil søke etter.

4) Lagre filen som search.py

5) Kjør filen!

6) ???????

7) PROFIT!
Vis hele sitatet...
ser bra ut det der! skal se på det i morgen tidlig! på forhånd Takk
Sitat av Skauman Vis innlegg
nja ikke helt keen på å skifte OS skal jeg innrømme..
Vis hele sitatet...
jeg sa ikke at du skulle det. hele poenget med en live CD er at den er *live*. d.v.s. du kjører alt direkte ifra CD-ROM. du kan selvsagt gjøre det hele via Python óg, som nevnt over.
Sist endret av Anonym57965; 16. januar 2011 kl. 02:21.
Bare last ned iTunes da! Så trykker du sånn at iTunes finner alle sanger for deg(og video). Da står antall sanger nederst, med varighet tilsammen Enkelt og greit!
Trådstarter skulle finne "filer som undertekster og random .txt-er". Da hjelper det lite med iTunes.
nei. ts ville unngå klartekstdokumenter.

forøvrig vil jeg fortsatt påstå at Python og live CD OS er de to beste og enkleste løsningene.
Ugh... Selvsagt skulle han det. Min feil. Skylder på søvnmangel, jeg.

Uansett har trådstarter fått mange fine tips allerede. Python eller Live CD, er nok kurante løsninger, ja.
Sist endret av Moreagain; 16. januar 2011 kl. 03:02.
Hvorfor gjøre det så komplisert? Kjør virusscanning. de fleste pprogrammer teller filene de ser igjennom, du sitter igjen med et endelig resultat, pluss, forhåpentligvis virusfri pc.
Skogenskonge
Skauman's Avatar
Trådstarter
Sitat av Shansavãri Vis innlegg
1) Last ned og installer Python (http://www.python.org/download)

2) Åpne Notepad, skriv inn følgende tekst:

import os
counter = 0
for root, dirs, files in os.walk('C:/test/'):
for f in files:
filename = os.path.join(root, f)
if filename.endswith(('mp3','avi','mpg')):
counter += 1
print '%s \n%s' % (filename,counter)

3) Endre den uthevede teksten på linje tre til den filbanen du vil søke etter filer i. Endre så den uthevede teksten på linje seks til filtyper du vil søke etter.

4) Lagre filen som search.py

5) Kjør filen!

6) ???????

7) PROFIT!
Vis hele sitatet...
Prøvde det i Python nå men lurer på om det er en skrive feil eller noe i teksten din? fikk bare opp en feilmeldig som forsvant med engang jeg trykket på filen. fikk uansett fanget den opp med printscreen

http://ge.tt/7X4Zkno

Det er sikkert enkelt å fikse men jeg ser det ikke.

Sitat av olaPola Vis innlegg
Hvorfor gjøre det så komplisert? Kjør virusscanning. de fleste pprogrammer teller filene de ser igjennom, du sitter igjen med et endelig resultat, pluss, forhåpentligvis virusfri pc.
Vis hele sitatet...
jo men jeg er ute etter å telle en type filer, å i virusprogrammet mitt gir den bare et tall på alle filene i systemet mitt!
Prøvde det i Python nå men lurer på om det er en skrive feil eller noe i teksten din?
Vis hele sitatet...
Du må ikke lime koden når den er brukt QUOTE tag som Shansavãri har brukt.
Da får man "IndentationError" koden må ha formen som dette.

Kode

import os

counter = 0
for root, dirs, files in os.walk('C:/test/'):
    for f in files:
        filename = os.path.join(root, f)
        if filename.endswith(('.mp3','.avi','.mpg')):
            counter += 1
            print '%s \n%s' % (filename,counter)
Linux varianten ville ha vært:

Kode

find / -iname *.txt | wc -l
Skogenskonge
Skauman's Avatar
Trådstarter
Da fikk jeg orden på det!
Jeg kunne ikke føre inn flere harddisker i .Py`en så måtte ta en å en men det gikk fort!
Takk for hjelpen alle sammen! Kommer til å bruke den i framtiden å

Kvalitets poeng til de som hjalp
Sitat av fxxked Vis innlegg
Linux varianten ville ha vært:

Kode

find / -iname *.txt | wc -l
Vis hele sitatet...
Trådstarter har allerede fått svar, men tenkte jeg kunne legge til en liten forbedring.

Kode

find / -type f \( -iname '*.mp3' -or -iname '*.mkv' -or -iname '*.avi' \) | wc -l
-type f: For å kun finne filer og ikke f.eks. symbolske lenker og mapper.
\( ... \): For å ikke måtte skrive -type f for hver filendelse.
Lagde en GUI versjon bare for gøy,nytteverdien kan diskuters.
Teller filer rimlig raskt,leser kun 1 og 1 fil inn til minnet.
Wxpython for GUI pakket i Gui2exe(komprimert UPX) Inno-setup for windows installasjon.
Poster koden så det kommer kansje noe nyttig ut av dette,viss noen lurer på GUI i python.
Både PyQt og PyGTK er bra GUI toolkit,men jeg finner wxpython mest pythonic og nærmest det jeg liker med python.
Mediafile_counter_setup
http://img203.imageshack.us/img203/2929/mediacounter.jpg

Kode

import wx
import os

class MediaCounter(wx.Frame):
    '''Count media files in chosen folder(include subfolder)'''
    def __init__(self, parent, mytitle, mysize):
        wx.Frame.__init__(self, parent, wx.ID_ANY, mytitle, size=mysize, style=wx.DEFAULT_DIALOG_STYLE | wx.MINIMIZE_BOX)

        #Setup(panel so it look good on all platforms)
        self.SetBackgroundColour("#d8d8bf")
        self.panel = wx.Panel(self)
        ico = wx.Icon('m.ico', wx.BITMAP_TYPE_ICO)
        self.SetIcon(ico)

        #--| Text
        self.mp3 = wx.StaticText(self.panel,-1,'<Your Folder>',(25,90),(100,25),wx.ST_NO_AUTORESIZE )
        self.count_text = wx.StaticText(self.panel,-1,'<File count>',(25,150),(200,25),wx.ST_NO_AUTORESIZE )
        wx.StaticText(self.panel,-1,'Chose file extension',(205,60)).SetForegroundColour('blue')
        wx.StaticText(self.panel,-1,'------------------------------',(200,75))

        #--| Buttons
        choose_folder = wx.Button(self.panel,-1,"Search Location",(20,60),(90,25))
        search = wx.Button(self.panel,-1,"Search",(20,120),(90,25))
        self.Bind(wx.EVT_BUTTON,self.OnFiledialog, choose_folder)
        self.Bind(wx.EVT_BUTTON,self.OnSearch, search)

        #--| CheckBox
        self.cb1 = wx.CheckBox(self.panel,-1,"Mp3",(200,85),(40,20))
        self.cb2 = wx.CheckBox(self.panel,-1,"Avi",(240,85),(40,20))
        self.cb3 = wx.CheckBox(self.panel,-1,"Mpg",(280,85),(40,20))
        self.cb4 = wx.CheckBox(self.panel,-1,"Mov",(200,110),(40,20))
        self.cb5 = wx.CheckBox(self.panel,-1,"Wav",(240,110),(40,20))
        self.cb6 = wx.CheckBox(self.panel,-1,"Bmp",(280,110),(40,20))
        self.cb7 = wx.CheckBox(self.panel,-1,"Jpg",(200,135),(40,20))
        self.cb8 = wx.CheckBox(self.panel,-1,"Png",(240,135),(40,20))
        self.cb9 = wx.CheckBox(self.panel,-1,"Gif",(280,135),(40,20))
        self.Bind(wx.EVT_CHECKBOX,self.onChoice, self.cb1)
        self.Bind(wx.EVT_CHECKBOX,self.onChoice, self.cb2)
        self.Bind(wx.EVT_CHECKBOX,self.onChoice, self.cb3)
        self.Bind(wx.EVT_CHECKBOX,self.onChoice, self.cb4)
        self.Bind(wx.EVT_CHECKBOX,self.onChoice, self.cb5)
        self.Bind(wx.EVT_CHECKBOX,self.onChoice, self.cb6)
        self.Bind(wx.EVT_CHECKBOX,self.onChoice, self.cb7)
        self.Bind(wx.EVT_CHECKBOX,self.onChoice, self.cb8)
        self.Bind(wx.EVT_CHECKBOX,self.onChoice, self.cb9)

       #---| Picture
        wx.StaticBitmap(self.panel,-1,wx.Bitmap("head2.png",
              wx.BITMAP_TYPE_ANY),pos=(20,10), size=(300,40))
        wx.StaticBitmap(self.panel,-1,wx.Bitmap("mp3_48.png",
              wx.BITMAP_TYPE_ANY),pos=(25,190), size=(48,48))
        wx.StaticBitmap(self.panel,-1,wx.Bitmap("avi_48.png",
              wx.BITMAP_TYPE_ANY),pos=(140,190), size=(48,48))
        wx.StaticBitmap(self.panel,-1,wx.Bitmap("jpg_48.png",
              wx.BITMAP_TYPE_ANY),pos=(260,190), size=(48,48))

    def OnFiledialog(self,evt):
        '''Choose folder for search'''
        dlg = wx.wx.DirDialog(self,"Choose a directory:",style=wx.DD_DEFAULT_STYLE)
        if dlg.ShowModal() == wx.ID_OK:
            path = None
            self.path = dlg.GetPath()
            self.mp3.SetLabel(self.path)
        dlg.Destroy()

    def onChoice(self,event):
        '''Select File extension'''
        d = {self.cb1.IsChecked(): 'mp3', self.cb2.IsChecked(): 'avi',
             self.cb3.IsChecked(): 'mpg', self.cb4.IsChecked(): 'mov',
             self.cb5.IsChecked(): 'wav', self.cb6.IsChecked(): 'bmp',
             self.cb7.IsChecked(): 'jpg', self.cb8.IsChecked(): 'png',
             self.cb9.IsChecked(): 'gif'}
        if True in d:
            self.ext_data = tuple(d[True])

    def OnSearch(self,evt):
        '''Search chosen folder'''
        counter = 0
        try:
            for root, dirs, files in os.walk(self.path):
                for f in files:
                    filename = os.path.join(root, f)
                    if filename.endswith(self.ext_data):
                        counter += 1
                    self.count_text.SetLabel(str(counter))
        except AttributeError:
            self.count_text.SetLabel('Choose location and file type')

if __name__ == "__main__":
    app = wx.App()
    mytitle = 'Mediafile counter'
    width = 350
    height = 300
    MediaCounter(None, mytitle, (width, height)).Show()
    app.MainLoop()