PDA

Visualizza la versione completa : [C]creare manualmente il comando dir in windows


antony85
23-01-2010, 11:43
devo creare una dir manuale, nel senso ke data in input una directory ("d:", oppure "c:\documenti")il programma scansiona quella cartella e restituisce nomi, date, grandezze file, tipo (file o cartella) e cosi via...ho provato con le varie system all'interno del programma,
system("cd d:\prova");
system("dir");
ma purtroppo dev c non ricorda di aver cambiato cartella, e mi da sempre la dir della cartella dove viene eseguito il programma...e non quella desiderata(in questo caso d:\prova).

oregon
23-01-2010, 12:14
Non è il Dev che "non ricorda" ...

A parte il fatto che puoi scrivere direttamente

"dir d:\prova"

potresti anche usare le API opportune per la gestione del file system (delle directory in particolare) di Windows ...

antony85
23-01-2010, 12:48
ok, ci sono riuscito tramite dir d:\prova...il problema è che una volta visualizzata la dir,il programma termine, dato che la sua immagine viene sostituita da dir...qunidi dovrei creare un processo figlio al quale affidargli la dir...su unix si usa fork()...ma su windows come si fa?

oregon
23-01-2010, 12:58
Manda l'output su file e leggilo. Poi cancella il file.

Dir d:\prova >file.txt

YuYevon
23-01-2010, 13:16
A questo punto tanto vale che ti fai uno script batch, perché scomodare il C per dare un comando da terminale? :)

MItaly
23-01-2010, 13:33
Originariamente inviato da oregon
potresti anche usare le API opportune per la gestione del file system (delle directory in particolare) di Windows ...

antony85
23-01-2010, 13:41
avete qualche link a riguardo dove illustrano come usare le api per win32?ho controllato quelle nella tua firma, ma non so dove cercare...

oregon
23-01-2010, 13:47
In generale

File Systems
http://msdn.microsoft.com/en-us/library/aa364407(VS.85).aspx

e in particolare

Directory Management Functions
http://msdn.microsoft.com/en-us/library/aa363950(VS.85).aspx

Loading