Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Liste d'une directory | |
| | Auteur | Message |
---|
lepetitmarocain
Nombre de messages : 341 Age : 82 Localisation : Région Parisienne (à mon grand désespoir) Date d'inscription : 04/07/2018
| Sujet: Liste d'une directory Jeu 14 Jan 2021 - 16:54 | |
| Bonjour à tous.
Je cherche à lister les fichiers d'une directory, et surtout mettre cette liste dans un txt.
quelqu'un a t'il cela dans ses archives, ou bien me donner une piste?.
Merci par avance
Bonne fin de journée | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Re: Liste d'une directory Jeu 14 Jan 2021 - 17:24 | |
| Tu utilises : file_find_first$ et ensuite : file_find_next$ et quand tu as fini : file_find_close et enfin : file_save pour sauvegarder le résultat de la recherche. Si tu veux un exemple, tu peux en trouver un dans le jeu Monopoly-moderne que j'ai publié. Bonne programmation ! | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Liste d'une directory Jeu 14 Jan 2021 - 18:45 | |
| Bonjour ! @Lepetitmarocain Comme dit JJN4, en pur Panoramic, tu utilises les mots-clés file_find_first$, file_find_next$ et file_find_close. Associé à ces mots-clés, Jack a donné un exemple concret de l’utilisation de ces variables système que tu trouveras dans l’aide de Panoramic. Voici une copie de ce code-source d’exemple : - Code:
-
dim a$ print "contenu du répertoire courant :":print print file_find_first$ a$=file_find_next$ while a$<>"_" print a$ a$=file_find_next$ end_while file_find_close Et voici une version un peu plus adaptée à ta demande : - Code:
-
dim a$ list 1 top 1,30 print "contenu du répertoire courant :":print item_add 1,file_find_first$ a$=file_find_next$ while a$<>"_" item_add 1,a$ a$=file_find_next$ end_while file_find_close file_save 1,"liste.txt" Hors Panoramic, si tu connais les commandes DOS, depuis l’invite de commande et après avoir ciblé le répertoire à lister, tu peux taper : dir >monfichier.txt
Dernière édition par Marc le Ven 15 Jan 2021 - 0:03, édité 1 fois | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Liste d'une directory Jeu 14 Jan 2021 - 22:04 | |
| J'avais fait autrefois une petite sub qui utilise la fonction DIR de Ms_Dos: - Code:
-
SUB FicListe(rep$,obj,type) ' Liste alphabétique des fichiers d'un répertoire rep$ dans l'objet obj ' (ci-dessous x = index dans la ligne résultat) ' type=0: liste classique (date/heure:x=1, taille:x=19, nom:x=45) ' type=1: date:x=1, taille:x=12, nom:x=25 ' type=2: taille:x=1, nom:x=14 ' type=3: nom seul:x=1 ' type=4: nom abrégé (8+3):x=1, nom complet:x=14 ' NB: la taille est donnée en octets sans séparateurs de milliers ' le séparateur de champs est le caractère ";" ' (le champ taille est ramené à une longueur fixe de 12 caractères) DIM_LOCAL p$,a$,i% EXECUTE_WAIT "cmd.exe|/c DIR /-C /X /A:-D "+rep$+" | clip" MEMO 900: HIDE 900: WIDTH 900,900 CLIPBOARD_PASTE 900 FOR i% = 1 TO COUNT(900) a$ = ITEM_READ$(900,i%) IF a$<>"" AND LEFT$(a$,1)<>" " a$ = LEFT$(a$,17)+";"+MID$(a$,24,12)+";"+MID$(a$,37,12)+";"+RIGHT_POS$(a$,50) SELECT type CASE 0: a$ = LEFT$(a$,30)+RIGHT_POS$(a$,44) CASE 1: a$ = LEFT$(a$,10)+MID$(a$,18,13)+RIGHT_POS$(a$,44) CASE 2: a$ = MID$(a$,19,12)+RIGHT_POS$(a$,44) CASE 3: a$ = RIGHT_POS$(a$,45) CASE 4: a$ = RIGHT_POS$(a$,32) END_SELECT ITEM_ADD obj,a$ END_IF NEXT i% DELETE 900 END_SUB Le résultat est dans un objet Panoramic donné en paramètre (List, Memo, etc) qu'on peut sauvegarder dans un fichier texte. Les données (date, taille, nom...) sont à des emplacements précis, pour la visualisation à l'écran il vaut mieux utiliser une police à pas fixe (genre Consolas par exemple) | |
| | | lepetitmarocain
Nombre de messages : 341 Age : 82 Localisation : Région Parisienne (à mon grand désespoir) Date d'inscription : 04/07/2018
| Sujet: Re: Liste d'une directory Ven 15 Jan 2021 - 13:52 | |
| Bonjour à tous.
On peut dire pour ce Forum que c'est Action Reaction.
Merci à JL35, Marc, JJN4 pour les exemples.
J'ai testé et c'est vraiment ce que je voulais.
Depuis le début d'année, je m'apercevais qu'il n'y avait pas grand monde sur le Forum.
Je me suis un peu trompé, et j’espère que cela va repartir de plus belle.
Bonne après midi à tous | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Liste d'une directory Ven 15 Jan 2021 - 15:02 | |
| Bonjour lepetitmarocain,
C'est vrai qu'en ce moment il y a plus de lecteurs que d'écrivains, mais ne t'inquiètes pas, ça va revenir ! en ce moment les esprits sont occupés à d'autres choses moins amusantes...
Je précise que dans mon exemple de sub ça ne renvoie que la liste des fichiers du répertoire donné, pas les sous-répertoires éventuels et leur contenu (paramètre /A:-D de la fonction DIR). Pour les avoir il faudrait modifier ce paramètre, et aussi la structure de la sub...
Si tu voulais juste la liste brute des fichiers du répertoire rep$ par ordre alphabétique, c'est tout simple EXECUTE_WAIT "cmd.exe|/c DIR /B /A:-D "+rep$+" |clip" -> résultat dans le presse-papier, à coller au besoin dans un objet panoramic
PS Excuse-moi si j'enfonce une porte ouverte, mais pour avoir la syntaxe de la commande DIR: - ouvrir une fenêtre de commande: touche Windows + "'R', taper 'cmd' dans la fenêtre 'Ouvrir' - dans la fenêtre noire, taper 'help DIR' (help tout seul donne la liste des commandes Ms_Dos, syntaxe d'une commande comme ci-dessus) Et pour lancer une des commandes sous Panoramic, faire comme dans la sub ci-dessus. | |
| | | Contenu sponsorisé
| Sujet: Re: Liste d'une directory | |
| |
| | | | Liste d'une directory | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |