[ xxxrugby @ 08.04.2005. 22:45 ] @
Zamisao je da dam put (path) u odredjeni direktorij i onda sve sta je u njemu pokrenem.

Npr. Imam na CD-u hrpu patcheva za Windowse. I tada uneses path = e://patches/
i sada on pokrece sve fileove unutar njega nesto kao system("patch.exe").

Code:

#include <dirent.h> 
#include <stdio.h> 

int main(void)
{
  DIR           *d;
  struct dirent *dir;                  /* char *path; */
  d = opendir(".");                   /* d = opendir(path) */
  if (d)
  {
    while ((dir = readdir(d)) != NULL)
    {
      printf("%s\n", dir->d_name);       /* something like system(dir->d_name); but this not working for me  */
    }

    closedir(d);
  }

  return(0);
}


Trenutno to pokusavam napravit za Win OS!
[ toroman @ 09.04.2005. 15:15 ] @
Zašto se mučiš i pokušavaš da napišeš taj program u CPP-u, kad je mnogo lakše to uraditi u npr pythonu ili perlu, pa možda i tcl-u...

Mislim, python je stvarno odličan kad treba nešto "te vrste" uraditi ...
Pozdrav, i da, ako hoćeš mogu da ti stavim python code, ako te interesuje ...
[ xxxrugby @ 10.04.2005. 13:57 ] @
Citat:
toroman: Zašto se mučiš i pokušavaš da napišeš taj program u CPP-u, kad je mnogo lakše to uraditi u npr pythonu ili perlu, pa možda i tcl-u...

Mislim, python je stvarno odličan kad treba nešto "te vrste" uraditi ...
Pozdrav, i da, ako hoćeš mogu da ti stavim python code, ako te interesuje ...


Moze. Zasto ne.
Glavno da radi to sta mi je zamisao!

Htio sam napravit to ovako u C-u cisto informativno.

POsalji!

Hvala!

Mislim da imam phyton compiler tu doma negdje!
[ X Files @ 10.04.2005. 16:45 ] @
Citanje fajlova u nekom folderu i njihovo izvrsavanje
je trivijalan zadatak.

Mnoge sistemske rutine imaju i 'skriveni' argument "/q"
sto bi znacilo 'tihi' mod, bez user interface-a, sto bi ti
u neku ruku olaksalo zadatak, jer ne moras da odgovaras
na uobicajena pitanja.

Proveri sam, na primer u TotalCommanderu ukucaj u liniji
koja se nalazi u donjem delu:

program.exe /?

*trebalo* bi da dobijes prozorce sa raspolozivim argumentima.

P.S. A da li si probao da napravis precicu do tog direktorijuma sa
patch-evima, a zatim 'Select All' [ENTER]?

[ xxxrugby @ 10.04.2005. 17:03 ] @
Citat:

P.S. A da li si probao da napravis precicu do tog direktorijuma sa
patch-evima, a zatim 'Select All' [ENTER]?


A gdje mi je tu zafrkavanje s C-om. Da mi se ne zafrkava s C-om dali bi uopce isprobavao ovo!
[ deroko @ 11.04.2005. 22:30 ] @
Prosto ka psaulj, koristi
FindFirstFileA, FindNextFileA i CreateProcessA a kao masku za trazenje fajlova stavis *.exe =)
[ X Files @ 11.04.2005. 22:46 ] @
Patchevi postoje za sve i svasta i nisu standardizovani. Po mom
misljenju nije pametno izvrsiti ih sve odjednom u petlji jer:

1) mozda treba da postoji logocan redosled izvrsavanja
2) mozda nakon primene nekih, sistem treba da se restartuje da bi
zabelezio izmene a program je vec poceo da izvrsava ostale koje
pojma nemaju sta je prethodni (i da li je) uradio.
3) mozda ce se desiti da pristupaju jednim te istim datotekama
pa moze doci do dead-lock-a
4) ...

Jednostavno, koncept mi ne deluje OK.

Sto se tice uzimanja datoteka iz foldera, stvar je trivijalna,
a u C-u moze ovako:

Code:


// NETESTIRANO !!!

#include <stdio.h>
#include <dir.h>

void main(void)
{
   struct ffblk struktura;
   
   int ima_jos;

   ima_jos = findfirst( "*.exe", &struktura, 0 );
   while ( !ima_jos )
   {
      printf( "OTVARANJE DATOTEKE: %15s, ", struktura.ff_name );

      // Izvrsi: struktura.ff_name
      
      ima_jos = findnext( &struktura );
   }
}


[ vladab @ 12.04.2005. 13:20 ] @
Citat:
xxxrugby:
Code:

#include <dirent.h> 
#include <stdio.h> 

int main(void)
{
  DIR           *d;
  struct dirent *dir;                  /* char *path; */
  d = opendir(".");                   /* d = opendir(path) */
  if (d)
  {
    while ((dir = readdir(d)) != NULL)
    {
      printf("%s\n", dir->d_name);       /* something like system(dir->d_name); but this not working for me  */
    }

    closedir(d);
  }

  return(0);
}



Ovo bi trebalo da radi na linux mashinama.