Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1194 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  effacement disque dur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

effacement disque dur

n°621324
oscar30340
Posté le 25-01-2004 à 16:17:41  profilanswer
 

Bonjour, Sous W2K, j'aurai besoin pour une appli en VB6 de formater ou d'effacer tout les fichiers et rep. d'un disque dur sans aucune intervention. A part le clic sur un bouton.
Quelqu'un a-t-il la soluce ?
Merci beaucoup

mood
Publicité
Posté le 25-01-2004 à 16:17:41  profilanswer
 

n°621335
simogeo
j'ai jamais tué de chats, ...
Posté le 25-01-2004 à 17:10:21  profilanswer
 

[:rofl]
 
une fois fini, tu nous donneras un lien vers ton programme [:petrus75]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°621339
cvb
Posté le 25-01-2004 à 17:26:02  profilanswer
 

oscar30340 a écrit :

Bonjour, Sous W2K, j'aurai besoin pour une appli en VB6 de formater ou d'effacer tout les fichiers et rep. d'un disque dur sans aucune intervention. A part le clic sur un bouton.
Quelqu'un a-t-il la soluce ?
Merci beaucoup

oui, faire un programme pour formater les disque et effacer les fichiers comme les dossiers : Tu as tous ce qu'il faut avec les API windows et sur le site de www.vbfrance.com. Bonne chance ! Avant d'appuyer sur le bouton et que ça fonctionne t'as du pain sur la planche.

n°621347
jagstang
Pa Capona ಠ_ಠ
Posté le 25-01-2004 à 17:43:04  profilanswer
 

shell(format D:\)

n°621348
cvb
Posté le 25-01-2004 à 17:43:52  profilanswer
 

jagstang a écrit :

shell(format D:\)

testé et approuver ? :??:

n°621352
jagstang
Pa Capona ಠ_ಠ
Posté le 25-01-2004 à 17:51:14  profilanswer
 

non pas testé. mais d'après-toi ça serait quoi le problème ?
 
la confirmation peut-être

n°621355
cvb
Posté le 25-01-2004 à 17:53:03  profilanswer
 

jagstang a écrit :

non pas testé. mais d'après-toi ça serait quoi le problème ?
 
la confirmation peut-être


 
Dans shell(... tu dois rentrer un nom de fichier bien précis, avec son chemin. Format n'en n'as pas caractéritiques, c'est une commande DOS, va t-il l'accepter, c'est moins sûr ! et je ne vais pas m'y essayer ! :D

n°621365
jagstang
Pa Capona ಠ_ಠ
Posté le 25-01-2004 à 18:12:41  profilanswer
 

dans shell tu peux executer n'importe quelle commande MS-DOS, comme ping, net, etc...
 
AUCUN rapport avec un nom de fichier...

n°621370
jagstang
Pa Capona ಠ_ಠ
Posté le 25-01-2004 à 18:14:24  profilanswer
 
n°621391
cvb
Posté le 25-01-2004 à 18:39:00  profilanswer
 

au temps pour moi !

mood
Publicité
Posté le 25-01-2004 à 18:39:00  profilanswer
 

n°621642
oscar30340
Posté le 26-01-2004 à 09:45:33  profilanswer
 

Non, la commande Format lancée par shell, demande le nom du disque et confirmation. j'ai essayé le petit prog, rm.exe, qui efface tout avec l'option -r, mais s'il fonctionne bien sous XP, il ne tourne pas sous 2000.(Message pour certains : il ne s'agit pas de faire un "mechant prog", c'est une appli pour un magasin, je dois faire en sorte que par un simple bouton, le prog efface le contenu d'un disque dur, et copie le contenu d'un cd sur ce disque ) c'est tout. Il tourne sous W2K.

n°621779
MagicBuzz
Posté le 26-01-2004 à 12:11:08  profilanswer
 

Code :
  1. Microsoft Windows 2000 [Version 5.00.2195]
  2. (C) Copyright 1985-2000 Microsoft Corp.
  3. C:\Documents and Settings\sdevidal>format /?
  4. Formate un disque utilisable avec Windows 2000.
  5. FORMAT volume [/FS:sys_fich] [/V:nom_volume] [/Q] [/A:taille] [/C] [/X]
  6. FORMAT volume [/V:nom_volume] [/Q] [/F:taille]
  7. FORMAT volume [/V:nom_volume][/Q][/T:pistes /N:secteurs]
  8. FORMAT volume [/V:nom_volume][/Q][/1][/4]
  9. FORMAT volume [/Q] [/1] [/4] [/8]
  10. volume           Spécifie la lettre de lecteur (suivie de deux-points),
  11.                   le point de montage ou le nom de volume.
  12. /FS:sys_fich     Spécifie le type de système de fichiers (FAT, FAT32 ou NTFS).
  13. /V:nom_de_volume Spécifie le nom de volume.
  14. /Q               Effectue un formatage rapide.
  15. /C               Les fichiers créés sur le nouveau volume seront compressés
  16.                   par défaut.
  17. /X               Force le volume à être démonté d'abord si nécessaire.
  18.                   Tous les descripteurs ouverts sur le volume ne seront
  19.                   plus valides.
  20. /A:taille        Remplace la taille d'unité d'allocation par défaut. Les
  21.                   paramètres par défaut sont très fortement recommandés
  22.                   dans le cas général.
  23.                   NTFS gère 512, 1024, 2048, 4096, 8192, 16 Ko, 32 Ko, 64 Ko.
  24.                   FAT gère 512, 1024, 2048, 4096, 8192, 16 Ko, 32 Ko, 64 Ko.
  25.                   (128 Ko, 256 Ko pour taille de secteur > 512 octets).
  26.                   FAT32 gère 512, 1024, 2048, 4096, 8192, 16 Ko, 32 Ko, 64 Ko.
  27.                   (128 Ko, 256 Ko pour taille de secteur > 512 octets).
  28.                       Notez que les systèmes de fichiers FAT et FAT32 imposent
  29.                   les restrictions suivantes sur le nombre de clusters par
  30.                   volume :
  31.                   FAT : nombre de clusters <= 65526
  32.                   FAT32 : 65526 < nombre de clusters < 268435446
  33.                   FORMAT cessera immédiatement s'il est jugé que les conditions
  34.                   ci-dessus ne peuvent pas être remplies en utilisant la
  35.                   taille de clusters spécifiée.
  36.                   La compression NTFS n'est pas prise en charge pour les
  37.                   tailles d'unités d'allocation plus grandes que 4096.
  38. /F:taille        Spécifie la taille de la disquette à formater (160,
  39.                   180, 320, 360, 640, 720, 1,2, 1,23, 1,44, 2,88 ou 20,8).
  40. /T:pistes        Spécifie le nombre de pistes par face de disque.
  41. /N:secteurs      Spécifie le nombre de secteurs par piste.
  42. /1               Formate une seule face d'une disquette.
  43. /4               Formate une disquette 5,25 pouces 360 Ko dans un
  44.                   lecteur haute densité.
  45. /8               Formate huit secteurs par piste.
  46. C:\Documents and Settings\sdevidal>


 
Si on résume :
 
format D: /FS:NTFS /V:New_Volume /X
 
Mais comme on voit, sous 2000 du moins, il n'y a pas de message pour éviter la confirmation. A partir de là, cette commande me semble pas géniale.
 
Sous certains OS il y a en plus le commutateur /P, /Q ou /V qui permet d'éxécuter en mode silencieux. Mais visiblement, sous 2K Pro du moins y'a pas.

n°621808
oscar30340
Posté le 26-01-2004 à 13:08:21  profilanswer
 

Oui, mais ça demande le nom de volume en cours, et une confirmation.
Avant, il y avait le commutateur /autotest  , qui permettait de rien demander, mais apparemment il n'existe plus.

n°621814
drasche
Posté le 26-01-2004 à 13:19:48  profilanswer
 

c'est pas un problème de donner de l'input à une commande:
 
format d: [paramètres et tout ça] <input_format.txt
 
et hop, c'est dans la boîte. Dans le fichier input_format.txt, tu tapes exactement ce que tu taperais si tu lançais la commande format à la main. Et avoir le nom du disque, c'est simple comme bonjour.
 
Cette technique est valable pour n'importe quelle ligne de commande. Tu génères ce fichier et tu le passes en paramètre. Faut prévoir le coup de la langue de l'OS aussi, des fois qu'il attendrait 'Y' pour la confirmation et non un 'O' (ou inversément).


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°622067
oscar30340
Posté le 26-01-2004 à 17:07:37  profilanswer
 

J'ai crée le fichier texte format.txt contenant les reponses
à envoyer à la commande format. je l'ai mis en racine du c:
Si dans une fenetre dos, je tape :
format.com f: /V:name /Q <c:\format.txt
ca marche nickel, le disque f: est bien formaté sans confirmation.
Par contre sous VB  
Var = Shell("format.com f: /V:name /Q <c:\format.txt", 3)
ne fonctionne pas, ca ouvre une console, mais ca la referme trop vite pour voir l'erreur.

n°622085
oscar30340
Posté le 26-01-2004 à 17:23:47  profilanswer
 

C'est pas trés élegant, mais je viens de trouver une soluce:
en VB:
'j'ouvre une console
Var = Shell("cmd", 3)
' et j'y envoie la ligne de commande
SendKeys "format.com f: /V:name /Q <c:\format.txt~", True
' puis je ferme la console
SendKeys "exit~", True
 
ca marche, mais bon !!

n°622104
jagstang
Pa Capona ಠ_ಠ
Posté le 26-01-2004 à 17:39:20  profilanswer
 

c'est sûrement pas le plus élégant, mais on peux certainement pas faire mieux...
 
Tu peux cacher la fenêtre (voir le lien que j'ai posté plus haut)

n°622105
jagstang
Pa Capona ಠ_ಠ
Posté le 26-01-2004 à 17:39:52  profilanswer
 

en utilisation l'option 5 au lieu de 3 dans l'appel de la fonxction shell()

n°622124
oscar30340
Posté le 26-01-2004 à 18:06:31  profilanswer
 

Ok, l'option 2 plutot.
En tout cas merci à tous


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  effacement disque dur

 

Sujets relatifs
[PHP] Copier une image d'un site sur son disque dur ?Afficher une image qui est sur un autre disque que celui du serveur ?
[PHP] Voir l'espace disque restant[VC++] effacement fichier...
Comment recupérer de l'espace disque en C?Problème d'effacement
[Access] Comment évolue l'espace disque selon les enregistrements !tezst d'un seuil d'occupation disque sous dos
[Java/Algo] Reconnaitre un disque dans un imagecrée un fond de dossier du disque animé !!!!! help !!!!! html
Plus de sujets relatifs à : effacement disque dur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR