Question ki tue ;)

Question ki tue ;) - Perl - Programmation

Marsh Posté le 10-09-2002 à 17:30:28    

Je cherche un module, une fonction, une idée (pas trop stupide  :) ) capable de lister les disques dur et lecteur de CD-Rom d'un PC.
 
Le tout en Perl.
voir si possible récupérer des informations sur le CD (le support)
 
Merci de votre aide :)


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 10-09-2002 à 17:30:28   

Reply

Marsh Posté le 10-09-2002 à 20:05:08    

Alors, calmé ? :lol:


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 11-09-2002 à 10:35:21    

Non mais sérieux, pourquoi à chaque fois que je pose une question j'ai presque jamais de retour :??:  
 
bon en Perl et Perl/TK alors ?
mais avec Perl/TK j'ai pas cherché !! ;)


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 11-09-2002 à 11:26:51    

c'est bien, tu parles tout seul :lol:
 
non, sérieux, je vois po comment faire


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le 11-09-2002 à 12:48:22    

je ne voi pas non plus c pour ca que je cherche ;)
 
il aurais un truc, mais ca serait faire le 'porc',
tester la création d'un fichier sur le disque !
mais avec le lecteur de CD, ca na marcherait pas !!
 
mais merci quand meme pour ton poste ;)


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 12-09-2002 à 09:11:08    

Bah, j'y avais pensé mais j'ai pas osé le proposer, c'est vrai que ça fait un peu porc de faire des tests d'écriture sur chaque lecteur  :pt1cable:
 
Tu pourrais éventuellement essayer de copier un fichier sur chaque lecteur, sur une plage de [A-Z], mais je sais po si le message d'erreur récupéré dans $! est le même si tu essaie de créer un fichier sur un lecteur amovible (diskett, cdrom) et sur un lecteur non répertorié
 
attend je teste  :D  
 

Code :
  1. C:\>dir e:
  2. Le périphérique n'est pas prêt.
  3. C:\>dir z:
  4. Le chemin d'accès spécifié est introuvable.


 
lecteur CD sur E, j'ai rien sur Z
 
donc, tu pourrais éventuellement faire sacom :
 

Code :
  1. @Liste = ("A" ...... "Z" );
  2. foreach(@Liste) {
  3.     $toto = `dir $_:`;
  4.     if ($toto =~ /introuvable/) {
  5.         print "$toto n'est po un lecteur";
  6.     } elsif ($toto =~ /pas prêt/) {
  7.         print "$toto est un lecteur amovible";
  8.     } else {
  9.         print "$toto est un dédé";
  10.     }
  11. }


 
enfin, pas top comme code et c'est à étoffer/sécuriser mais bon ...
 


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le 13-09-2002 à 20:51:11    

:lol:  :lol:  :lol:  
tu l'as essayé ton code ?
 
si tu l'ai pas fait, ca vaut le détour ;)
ne enleve le A, et teste à partir du "B"
 
tu vera c trop fort  :lol:  :lol:
 
test en commande MS DOS sous Windows 9X
ca fait la meme chose


Message édité par stef_dobermann le 13-09-2002 à 21:02:40

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 13-09-2002 à 20:57:49    

mais c'est une bonne idée, j'ai testé en utilisant la commande system, et ca fait la meme chose ;)
 
Le probleme, c'est que quand le lecteur n'existe pas, il demande une interaction avec l'utilisateur et ne va pas plus loin :(


Message édité par stef_dobermann le 13-09-2002 à 21:10:51

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 14-09-2002 à 10:33:48    

Pour répondre à ta question :
Sous windows je ne sais pas trop comment tu pourrais faire.
Mais sous linux, il te suffit de lire toutes les informations que tu veux dans le répertoire /proc. Eventuellement, lire les sorties de hdparm ou des utilitaires du genre.
 
a+

Reply

Marsh Posté le 14-09-2002 à 13:11:33    

Non mais sérieux, pourquoi à chaque fois que je pose une question j'ai presque jamais de retour :??:


 
pke tu poses des questions trop complexes peut etre?


---------------
[:kuroineko] Francois.P tel: (+33)617230820 http://www.ifrance.com/fpussault  fpussault@caramail.com
Reply

Marsh Posté le 14-09-2002 à 13:11:33   

Reply

Marsh Posté le 14-09-2002 à 15:49:18    

alligator421 a écrit a écrit :

Pour répondre à ta question :
Sous windows je ne sais pas trop comment tu pourrais faire.
Mais sous linux, il te suffit de lire toutes les informations que tu veux dans le répertoire /proc. Eventuellement, lire les sorties de hdparm ou des utilitaires du genre.
 
a+




 
merci, mais je suis sous Windows  :cry:


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 16-09-2002 à 08:44:54    

stef_dobermann a écrit a écrit :

:lol:  :lol:  :lol:  
tu l'as essayé ton code ?



non car c'était juste un exemple et les syntaxes de mon exemple sont pas du Perl pur jus, genre ça :
 

Code :
  1. @Liste = ("A" ...... "Z" );


 
J'espère que t'as pas laissé ça sacom, car franchement je sais même po ce que ça fait avec Perl  :)


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le 16-09-2002 à 15:21:41    

non g juste modifier @liste=("b","c","d",..);
 
et g testé comme ca
c trop drole ;)
quand il cherche sur le B:, windows delire
le pire c que ca
 
   $toto = `dir $_:`;  
 
ca marche, il fait bien le dir


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 16-09-2002 à 15:51:01    

stef_dobermann a écrit a écrit :

non g juste modifier @liste=("b","c","d",..);
 
et g testé comme ca
c trop drole ;)
quand il cherche sur le B:, windows delire
le pire c que ca
 
   $toto = `dir $_:`;  
 
ca marche, il fait bien le dir



et sinon, y a rien dans %ENV sur les lecteurs pilotés par Windows ? J'pose juste une question en passant, paske ton truc là, j'vois po comment faire un code fiable et ça, ça m'énerve un max de po y arriver  [:cid]


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le 16-09-2002 à 19:24:28    

mais tu n'est le seul  :gun:  
en ce qui concerne %env, g deja regardé dedans et j'ai pas trouvé
ce que je veux  :pt1cable:


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 18-09-2002 à 11:05:42    

à question qui tue, réponse qui tue :
 
va faire un tour ici http://forum.hardware.fr/forum2.ph [...] h=&subcat=
 
Grosso merdo, tu te fais un petit source en C, que tu exécute sous Perl et valà, fastoche et super pratique, nan ?  :pt1cable:  :heink:  :(  ;)  :pt1cable:  :D


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le 18-09-2002 à 18:15:01    

ok tu m'as calmé  :jap:  
merci


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 25-10-2002 à 14:50:16    

si tu cherche toujours, ca pourrait t'aider:
 

Code :
  1. use Win32;
  2. $nextletter = Win32::GetNextAvailDrive( );
  3. print "The next available drive letter : $nextletter\n";


 
evidement cest pour windows

Reply

Marsh Posté le 25-10-2002 à 15:02:53    

Code :
  1. use Win32;
  2.   $nextletter = Win32::GetNextAvailDrive( );
  3.   @alpha =('A'..'Z');
  4.   for (@alpha) {
  5.     if ( $_.':' ne $nextletter ) {
  6.  print "$_\n";
  7.    } else {last;}
  8.   }


 
et ca te liste toute les lettres que tu pourrais avoir  ;)


Message édité par stef_dobermann le 25-10-2002 à 15:05:10

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 25-10-2002 à 15:03:28    

mici  :jap:  
mais je l'avait deja trouvé  :ouch:


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 25-10-2002 à 15:04:24    

stef_dobermann a écrit a écrit :

Code :
  1. use Win32;
  2.   $nextletter = Win32::GetNextAvailDrive( );
  3.   @alpha =('A'..'Z');
  4.   for (@alpha) {
  5.     if ( $_.':' ne $nextletter ) {
  6.  print "$_\n";
  7.    } else {last;}
  8.   }


 
et ca te liste toute les lettres que tu purrait avoir  ;)



bien ouèj  :)


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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