Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

Otsing arvutis

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    Otsing arvutis

    Aegade jooksu on arvutisse kogunenud programmidest mitmesuguseid versioone.
    On olemas otsinguprogrammid aga:

    Kuidas otsida arvutist programmi, milles on nt "A1" või "B2" või "C3"
    ning kuidas ned leitud failinimed kataloogi saad.

    Proovisi, ei taha õnnestuda.
    (Midagi jäi puudu. Vaatasin peeglist, vist ongi seal viga.)

    Siis meenus DOS.
    findstr /S /N /I "Mine versioon a1 b2 c3" main.c >leitud.txt

    Ja tuli 30 kB teksti
    Kui nüüd leiaks veel võimaluse et otsitaks "A1" ja "B2" ja "C3" oleks lausa lust.

    Kas Windows all midagi selliste ja veel paremate võimalustega asja ka on?

    #2
    Vs: Otsing arvutis

    TotalCommanderi otsingus leidub AND võimalus ühel vahelehel. Pole ise proovinud, kas see on see mida vaja.
    Click image for larger version

Name:	TC.PNG
Views:	1
Size:	28,1 KB
ID:	869424

    Comment


      #3
      Vs: Otsing arvutis

      Peab otsima faili nimest või versiooni infost ?
      Vbscript saab sellise ülesandega hakkama.


      *
      cmd käsklused saab kirjutada .bat faili, sedasi on mugavam.

      Otsing.bat faili sisu:

      cd/
      dir /b/s *A1*.exe >> Failid.txt


      Sokutasin folderitesse exe faile mille nimes sisaldus "A1"

      Failid.txt sisu:

      E:\ATI\htrthA1ssda.exe
      E:\Documents and Settings\nA1pp.exe
      E:\Program Files\banaanA1ppp.exe

      See oskas kammida läbi ainult ketta mille peal see .bat fail asus.


      Kas poleks lihtsam otsida näiteks kõiki exe faile, windown search oskab:
      *.exe
      viimati muutis kasutaja Starfish; 22 February 2016, 08:43.
      http://hparchive.com/
      https://worldradiohistory.com/index.htm

      Comment


        #4
        Vs: Otsing arvutis

        Kui teema faili nimedest otsimisel, siis tavaline windowsi otsing ja asendad *-ga puuduva osa. Ehk otsing: *A1* otsib faile, mille nime sees on A1. Kui otsid A1* siis leitakse A1 algusega failid. *A1*.exe otsib A1 sisaldavad .exe lõpuga faile.

        /Lugesin teemapüstituse uuesti üle, kataloogi midagi ei pane, aga otsingu idee on sama.

        Comment


          #5
          Vs: Otsing arvutis

          Probleem ei olnud otsida niivõrd faili nimesid kui otsida sisust.
          Ka My Computer otsib * nimesid väga kenasti.

          Küsimus oli faili sisust otsimisel.
          Windowsi all saab anda ette sõna mida tahetakse failist leida.
          See töötab.

          Aga kui on tahtmne et leitud failis ole kaks otsitavat sõna,
          siis ma My Computer abil enam ei oska otsida.
          Peale selle ei saa otsingu tulemust hilisemaks kasutuseks salvestada.
          Ei oska

          DOS käsk findstr saab sellega hakkama.

          X:\Kataloog1> findstr /S /N /I "Mine versioon" main.c > leiti.txt

          See rida otsib Kataloog1 ja kõigist alamatest (/S)
          failidest main.c sõnu Mine või versioon ja
          kirjutab leitu fail leiti.txt.
          leiti.txt töödeldes saab aru kas oli üks või teine otsitav või mõlemad.
          /N lisab väljundisseneanumbri ja /I ei tee vahet suur-väike tähel.

          Oli soovitus kasutada sõnade vahel JA (AND) mõistes .*
          X:\Kataloog1> findstr /S /N /I "Mine.*versioon" main.c > leiti.txt
          Aga see ei toiminud.
          Seeeest näidatakse neid leitud ridu, saab ise vaadates otsustada.


          Total Commander vist sisaldab seda teenust, kui suudaks mõista kuidas teha.
          Esialgu ei õnnestunud.

          Comment


            #6
            Vs: Otsing arvutis


            Seda on vist igale opsüsteemile kompileeritud.

            Comment


              #7
              Vs: Otsing arvutis

              Sellest oleks pidanud alustama kas sisust või nimest,
              tundub et siis faili nimi on main.c või on suvalised nimed ?
              Äraarvamise mäng...
              Siis selles failis on tekst Mine või versioon ja selle järelt on vaja leida siis näiteks A1 ?
              Veidi nikerdada seda cmd otsingut ja peks olema tehtav.

              Esmalt postitatud A.R. poolt Vaata postitust
              Kui nüüd leiaks veel võimaluse et otsitaks "A1" ja "B2" ja "C3" oleks lausa lust.
              See tähendab siis et otsing peab sisaldama AND loogikat ?
              Kui ainult üks nendest esineda saab siis oleks OR.
              viimati muutis kasutaja Starfish; 23 February 2016, 08:57.
              http://hparchive.com/
              https://worldradiohistory.com/index.htm

              Comment


                #8
                Vs: Otsing arvutis

                Windows grep otsib, aga ütleb et
                AND otsing töötab ühel real ja mitte kogu faili ulatuses.
                Kas see ongi nii?

                Seda et nimest otsimisega on probleeme ei osanud lihtsalt arvata.
                * ja ? tavaliselt ikka aitavad.

                Comment


                  #9
                  Vs: Otsing arvutis

                  grep käib reakaupa jah. Päris elegantset lahendust ei oska pakkuda.

                  Asendad enne grep-i reavahetused mingi muu märgiga ja saad iga faili kui ühe pika rea ja tulemuse kirjutad ühte suurde faili ja siis sealt otsid?


                  Või siis grep lubab ka midagi sarnast.
                  grep -cH -z -E "B2.*A1|A1.*B2" *

                  Mustri otsimisel on ka järjekord oluline ja siis pead mõlemad järjestused näitama.

                  -c näitab ainult leidmiste arvu
                  -H paneb failinime juurde väljundisse
                  -z käsitleb faili kui ühte rida
                  -E järel saab mustri kirjeldada

                  Seda mustri osa tuleb vist nii tõlgendada
                  B2.*A1 jupp algab märkidega B2 ja suvaliste märkide jada lõpeb sümbolitega A1.
                  | lubab siis vastupidist varianti ka.

                  Ehk aitab miskit otsida.

                  See ülemine näide on ühe kataloogi kõikide failide jaoks. Kui on vaja kogu töökaustade puu läbi sobrada ning kõik main.c failid kontrollida, siis vist tuleb nii:

                  grep -r -cH -z -E "B2.*A1|A1.*B2" main.c
                  viimati muutis kasutaja M.L; 23 February 2016, 18:52. Põhjus: veidi tuuningut

                  Comment

                  Working...
                  X