Comment recuperer dans un .txt les adresses de ficiers

Comment recuperer dans un .txt les adresses de ficiers - Divers - Programmation

Marsh Posté le 18-11-2002 à 12:48:10    

Bonjour
 
Je voudrais creer un .txt ou serais inscrits les noms de fichiers et a coté l'adresse de ce fichier, qui sont contenu sur un lecteur P:\
 
Le fichier texte aurais la forme suivante :  
 
documents1 ; P:\Lettres\
documents2 ; P:\A vendre\
 
etc...
 
Pouvez vous m'aidez a faire ca?

Reply

Marsh Posté le 18-11-2002 à 12:48:10   

Reply

Marsh Posté le 18-11-2002 à 13:11:58    

heu... c'est un peu vague là
tu veut faire ça avec quoi et à partir de quoi ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-11-2002 à 13:16:10    

Ba je sais pas a partir de quoi je peux le faire!!!
une commande dos, mais j'en suis pas sûr
A partir de quoi : a partir des données stockees dans le disques P:\
 
Je prends tout le fichiers qui sont sur le disques P:\ et toutes leurs adresses et je les place dans un fichier .txt


Message édité par GENIUS999 le 18-11-2002 à 13:16:21
Reply

Marsh Posté le 18-11-2002 à 13:19:14    

ha ok
bhen je pense pas qu'en DOS brut tu puisse le faire, mais en VBScript ça doit être simple (mais je sais pas t'aider pour ça, je connais pas le VBScript)
 
Sinon en C ou Pascal c'est pas long à faire


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-11-2002 à 13:28:27    

pour lire fichiers ds un lecteur fo employer la fonction findfirst (), le reste c du fprintf () pour exrire ds un .txt

Reply

Marsh Posté le 18-11-2002 à 14:04:02    

C'est du vb?

Reply

Marsh Posté le 18-11-2002 à 15:00:37    

Sinon, y a déja moyen de faire sous DOS  
DIR X:\leRepertoire\*.* /S /B > liste.txt
 
Ca donne dans le fichier liste.txt la liste de tous les fichiers du répertoire X:\leRepertoire et de ses sous-répertoires jusqu'à perpète.  
Si on change le *.* par *.mp3, on aura tous les fichiers mp3.
/B ôte les dates, tailles, .. ne laissant que les noms "purs"
 
Si on veut trier par nom, on ajoute /ON, date /OD
 
On peut alors relire le fichier, par ex avec QB, VB, pascal, C, ... pour reprendre les noms. Le pb on a aussi les répertoires en "vrac" :
 
F:\TEMP\_PA38
F:\TEMP\_PA69
..
F:\TEMP\bitmaps.obj
F:\TEMP\bitmaps.res
F:\TEMP\bmfile.obj
..
F:\TEMP\_PA38\_inst32i.ex_
F:\TEMP\_PA38\_ISDel.exe
etc..
 
L'exploration récursive est peut-être plus directe.
 
Si on fait pas /B, on a des tas de truc en plus, mais on peut se baser sur les colonnes.
 
 Le num?ro de s?rie du volume est D54E-D598
 
 R?pertoire de F:\TEMP
 
12/03/2001  15:45       <DIR>          .
12/03/2001  15:45       <DIR>          ..
25/11/2001  21:09       <DIR>          _PA38
31/05/2001  21:17       <DIR>          _PA69
25/08/2001  09:54                6ÿ782 bitmaps.obj
04/08/2001  17:35               19ÿ216 bitmaps.res
25/08/2001  09:05                5ÿ125 bmfile.obj
...
              93 fichier(s)        9ÿ032ÿ946 octets
 
 R?pertoire de F:\TEMP\_PA38
 
25/11/2001  21:09       <DIR>          .
25/11/2001  21:09       <DIR>          ..
18/10/2001  16:35              296ÿ674 _inst32i.ex_
18/10/2001  16:35                8ÿ704 _ISDel.exe
 
POur retrouver les caractères accentués une fois récupéré sous WIndows, suffit de piper par KI_WIN (sur mon site, transcrit éèà etc.. du DOS en équivalent Windows)
 
DIR X:\leRepertoire\*.* /S /B | KI_WIN > liste.txt
 
Si j'arrive à trouver du temps, je regarde la dernière version (DIR /ON /S) sous QBasic :( :D), l'autre, on retrouve pas facilement les noms de répertoires.
 
Y en a beaucoup des fichiers ? Un million (=> gros fichier en sortie) ?


Message édité par Carbon_14 le 18-11-2002 à 15:03:39
Reply

Marsh Posté le 18-11-2002 à 18:33:25    

Merci!!!
Ca a marcher mais partiellement.
En effet, je souhaitais qu'il il ai un separateur entre le nom du fichier et l'adresse pour pouvoir le recuperer sous access par exemple...
 
Tu serais faire?

Reply

Marsh Posté le 18-11-2002 à 18:50:10    

Pt'ète ben qu'oui, pt'ête ben qu'non :D ..
 
Ce que je peux regarder, est de traîter un fichier liste genre le dernier exemple donné.
Le résultat sera(it) dans l'ordre brut :
Fich_11;Repertoire1
Fich_12;Repertoire1
Fich_13;Repertoire1
Fich_21;Repertoire2
Fich_22;Repertoire2
..
 
Si on veut trier par ordre alpha, faudrait le faire à part... (Faisable mais ça complique un peu)
 
Y a des noms avec espaces ?  
Faut \ à la fin des chemins de repertoires ?
 
L'idéal absolu serait que le prog explore les répertoires, récupère les noms sans intervention. Manque de temps ce soir => service minimum.
Je teste avec mon exemple perso.
 
Possible envoyer un exemple pour test sur ma bal ? Par  
DIR X:\leRepertoire\*.EXTvoulue /S /ON > C:\liste.txt. Je le KI_WINerai plus tard pr récupérer les accents, etc...

Reply

Marsh Posté le 18-11-2002 à 19:17:13    

Je suis plus au boulot là, mais je peux te dire qu'il s'agit que de numeros de plans en fait, mais normalement pas d'espace... pour le \ a la fin, je sais pas, je crois que non.

Reply

Marsh Posté le 18-11-2002 à 19:17:13   

Reply

Marsh Posté le 18-11-2002 à 19:25:46    

C'est pour savoir si c'est utile ou non (en prog C ss Windows, y a un pb potentiel à gérer : C:\ avec "\", mais C:\TEMP\MACHIN sans "\", faut le temps de s'y faire).
 
Si y a progrès conséquent, je met FICH_REP sur mon site ouèbe ce soir, ou demain + source.
 
Donc ça sera liste fabriquée par commande DOS
DIR /S (/ON si trie par nom, /OD par date, par taille possible aussi) | KI_WIN > c:\liste.txt (ou autre nom)
 
puis FICH_REP C:\LISTE.TXT NomDuFichQuOnVeutObtenir.xyz sous DOS itou.
 
A défaut de mieux (+ rapide).
 
Si y a pas de éàèçïöüêôî etc dans noms, KI_WIN ne sert pas.

Reply

Marsh Posté le 18-11-2002 à 20:44:55    

Ca y est, c'est fait, avec une réserve, c'est que je me base sur le résultat de la commande sur mon PC sous Win2000.
J'essaie demain sous NT.
 
Le fichier DIR /S /ON > liste.txt donnant qq chose comme  
 
 Le volume dans le lecteur F s'appelle DIVERS
 Le numéro de série du volume est D54E-D598
 
 Répertoire de F:\TEMP
 
12/03/2001  15:45       <DIR>          .
12/03/2001  15:45       <DIR>          ..
25/11/2001  21:09       <DIR>          _PA38
31/05/2001  21:17       <DIR>          _PA69
12/03/2001  21:58               14ÿ848 app32.exe
12/03/2001  21:58               65ÿ536 app32.ilc
12/03/2001  21:58               65ÿ536 app32.ild
12/03/2001  21:58              458ÿ752 app32.ilf
12/03/2001  21:58              524ÿ288 app32.ils
07/04/2001  13:44              144ÿ071 Word 2000 SR-1 Setup 0002)_MsiExec.txt
              92 fichier(s)       26ÿ502ÿ615 octets
 
 Répertoire de F:\TEMP\final
 
31/03/2001  21:58       <DIR>          .
31/03/2001  21:58       <DIR>          ..
31/03/2001  22:07               10ÿ240 dragdrop.exe
31/03/2001  22:10               65ÿ536 dragdrop.ilc
31/03/2001  22:10               65ÿ536 dragdrop.ild
 
Sous le DOS de Win 3.11 (v 6.xy), ça irait pas car les noms de fichiers sont à gauche, faudrait adapter. C'est un brouillon pour l'instant.

Reply

Marsh Posté le 18-11-2002 à 20:48:47    

Je te remercie sincerement pour passer autant de temps à essayer de resoudre mon probleme...
 
Je me demande meme si tu n'en fait pas trop   ;)  
 
En tout cas merci..   :jap:

Reply

Marsh Posté le 18-11-2002 à 20:56:50    

Ca me fait un exercice intellectuel, voir si je sais encore me servir de QuickBasic. Vite "torché", non ?
 
Ca change du C/Windows et de la chimie. :)  
 
Si y a des accomodements, à voir (c'est pourquoi je demandais un échantillon pour pas viser à côté).
 
Y a le source QuickBasic avec (zippé).
 
Vive HFR. :jap:

Reply

Marsh Posté le 18-11-2002 à 21:11:38    

carbon_14 a écrit a écrit :

 
J'essaie demain sous NT.




 
c'est pareil que 2K/XP vu que c'est tj du NT, mais sous NT nom & infos sont inversés par rapport au DOS :D
genre


C:\>dir /on
 Volume in drive C is System
 Volume Serial Number is 14B4-7743
 
 Directory of C:\
 
15/03/2002  23:58                92 1024.bat
15/03/2002  23:58                92 1152.bat
09/11/2002  22:38               152 1280.bat
13/11/2002  23:08             1 597 1280.sl
09/11/2002  22:38               155 1600.bat
15/07/2002  19:23             1 431 1600.sl
02/04/2002  19:40                91 800.bat
21/06/2002  16:43                 0 AUTOEXEC.BAT
06/08/2002  14:35    <JUNCTION>     CDR
21/06/2002  16:43                 0 CONFIG.SYS
31/08/2002  20:44             1 588 Copy of 1280.sl
15/07/2002  19:23             1 431 Copy of 1600.sl
21/06/2002  17:13    <JUNCTION>     Data
21/06/2002  16:48    <DIR>          Documents and Settings
21/06/2002  17:14    <JUNCTION>     Download
21/06/2002  17:13    <JUNCTION>     Games
10/11/2002  12:06    <DIR>          Program Files
21/06/2002  17:12    <JUNCTION>     Programs
06/08/2002  13:44    <JUNCTION>     Swap
21/06/2002  17:12    <JUNCTION>     Temp
17/11/2002  23:56    <DIR>          WINDOWS
06/08/2002  14:35    <JUNCTION>     Work
              11 File(s)          6 629 bytes
              11 Dir(s)     979 595 264 bytes free


 
sous NT
 
et
 


C:\>dir /on
 
 Le volume dans le lecteur C est PC DISK
 Le numéro de série du volume est 1F86-410C
 Répertoire de C:\
 
AUTOEXEC BAT           162  04/10/02  22:52 autoexec.bat
COMMAND  COM        94.822  24/08/95   9:50 COMMAND.COM
CONFIG   SYS           160  04/10/02  22:52 CONFIG.SYS
NETLOG   TXT           489  04/10/02  22:12 NETLOG.TXT
PROGRA~1       <REP>        04/10/02  22:16 Program Files
WINDOWS        <REP>        04/10/02  22:11 WINDOWS
         4 fichier(s)             95.633 octets
         2 répertoire(s)   2.079.850.496 octets libres


 
sous DOS/9x avec la dernière colonne en moins en vrai DOS


Message édité par antp le 18-11-2002 à 21:17:27

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-11-2002 à 21:27:10    

J'ai compilé mon truc sous DOS 6.22 et ai fait test avant sur DIR /xy, c'est pourquoi y a une réserve selon si genius999 travaille sous Win9x ou NT(4, 5(2k), 6(XP)).
 
C'est règlé pour NT_xx sauf pbs à voir.
 
Va falloir que j'ajoute le mot clé <JUNCTION> dans les tests car j'ai pas ça sur ma machine :).


Message édité par Carbon_14 le 18-11-2002 à 21:28:13
Reply

Marsh Posté le 18-11-2002 à 21:33:09    

carbon_14 a écrit a écrit :

6(XP)




 
:non: XP c'est 5.1 ;)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-11-2002 à 21:33:50    

carbon_14 a écrit a écrit :

 
Va falloir que j'ajoute le mot clé <JUNCTION> dans les tests car j'ai pas ça sur ma machine :).




 
Ce sont des partitions montées dans des dossiers au lieu d'une lettre de lecteur
Un peu dans le style Unix/Linux
Nouveauté d'NT5 en NTFS


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-11-2002 à 21:35:35    

antp a écrit a écrit :

 
 
Ce sont des partitions montées dans des dossiers au lieu d'une lettre de lecteur
Un peu dans le style Unix/Linux
Nouveauté d'NT5 en NTFS




sauf qu'on peut pas les demonter et les remonter ailleurs, supaire

Reply

Marsh Posté le 18-11-2002 à 21:38:00    

bhen si
 
en trois clics je mets mon CD dans c:\dev\cdrom ou c:\choucroutte\saucisse si je veux
 
du moment que c: est en NTFS


Message édité par antp le 18-11-2002 à 21:38:59

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 18-11-2002 à 21:46:18    

antp a écrit a écrit :

bhen si
 
en trois clics je mets mon CD dans c:\dev\cdrom ou c:\choucroutte\saucisse si je veux
 
du moment que c: est en NTFS




ah pour les cdrom je sais pas, mais pour les partitions il me semble que non. Fin en tout cas c'est ce qu'il m'ont sorti a ma supeeeeeeeeeerbe formation XP. Avec un classeur microsoft et 600 pages avec un petit microsoft en haut, un petit en bas, et un GROS en transparance sur toute la page. Risible.
 
bref, on peut ou pas ?

Reply

Marsh Posté le 18-11-2002 à 21:48:15    

bhen une partition je la bouge quand je veux
la seule chose c'est que si y a des softs installés dans c:\programs\ et que je vire ce lien ils vont râler :D
 
d'ailleurs parfois je monte ma partition où y a mon site dans c:\programs\internet\easyphp\www\monsite
pour avoir mon site accessible en local sans modifie la conf de apache
du coup j'ai une partition (data) montée dans le dossier monsite, qui est sur une partition (programs) montée dans le dossier programs
:D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed