MS-DOS ne marche pas

Fermé
MS-DOS - 3 nov. 2008 à 23:50
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 6 nov. 2008 à 01:51
Bonjour,

Voila j'ai fais un petit batch pour supprimer certains dossiers et fichiers dans mes "Program Files" mais malheureusement je constate que lorsque j'exécute le batch la fenêtre MS-DOS s'ouvre et pas de message d'erreur mais aucun des fichiers ou dossiers n'a été supprimer! Je pense que sa peut venir du fait que les éléments dans "C:\Program Files\" sont protégés.
Si c'est le cas comment passer outre cette protection, et si là n'est pas le probleme où est-il?

Merci d'avance.

21 réponses

cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
4 nov. 2008 à 00:05
Bonsoir,

Tu devrais poster ton code.
0
Merci de ta réponse rapide j'y avais pensé mais je ne pensais pas que sa serait d'une grande utilité. Mais bon voila le code:

@echo off
del C:\Program Files\audiograbber\*.dll
cls
0
Geeky_123 Messages postés 35 Date d'inscription mardi 4 novembre 2008 Statut Membre Dernière intervention 14 juin 2010 10
4 nov. 2008 à 00:13
Salut.

Effectivement, les fichiers situés dans le répertoire "Program files" sont protégés. Pour que ton batch fonctionne correctement, pour toutes modifications que ce soit, tu doit faire : Clique droit sur le fichier>Exécuter en mode administrateur. Une fois fait, tout devrais se passer comme supposé. Il est aussi possible que ce ne soit pas dû au fait que les fichiers sont protégés mais aussi au fait qu'ils soient en cour d'utilisation. Juste au cas ou le message d'erreur s'affiche pas et que cmd.exe se ferme après, il est possible que tu ne le voit juste pas. Petit conseil: rajoute l'argument "pause" sans les "" à la fin de ton batch. Comme ça, lorsque l'exécution du programme auras été faite, il devrait se mettre sur Pause et te demander si tu veut continuer. Ça te donneras l'occasion de voir le message qui s'affiche, dans la mesure ou il y en a un.
0
Merci beaucoup pour ta réponse mais le petit problème c'est que lorsque je clic droit sur mon batch et que je vais dans propriétés, la case "Executer en tant qu'Administrator" est bien present mais griser; impossible de la cocher :S. Comment faire??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
4 nov. 2008 à 00:25
Ca peut peut-être répondre au problème :

C:\Documents and Settings\Christian\Mes documents\BATCH_files>help del
Supprime un ou plusieurs fichiers.

DEL /P /F /S /Q [/A[[:]attributs]] noms
ERASE /P /F /S /Q [/A[[:]attributs]] noms

  noms          Spécifie une liste d'un ou plusieurs fichiers ou répertoires.
                Les caractères génériques peuvent être utilisés pour
                supprimer plusieurs fichiers. Si un répertoire est spécifié,
                tous les fichiers qu'il contient seront supprimés.

  /P            Demande une confirmation avant de supprimer un fichier.
  /F  Force la suppression de fichiers en lecture seule.
  /S            Supprime les fichiers dans tous les sous-répertoires.
  /Q            Pas de confirmation avant suppression avec car. génériques.
  /A            Suppression en fonction des attributs
  attributs     R  Fichiers en lecture seule   S  Fichiers système
                H  Fichiers cachés             A  Fichiers prêts pour archive
                -  Préfixe de négation

Si les extensions de commandes sont activées, DEL et ERASE sont modifiées
comme suit :
La logique d'affichage du commutateur /S est inversée. Elle
n'affiche que les fichiers supprimés, et pas ceux qui n'ont pas été trouvés.
0
Toujours rien :S il faut dir que je n'ai pas très bien compris comment me servir de ton aide :S
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
4 nov. 2008 à 01:49
Essaie comme celà :

del /F C:\Program Files\audiograbber\*.dll
0
Non sa ne marche pas... Mais je crois que le problème vien du fait que j'ai Vista et je pense que dans Vista un Batch ne peut pas intervenir sur un fichier système (protégé). En tout cas merci pour ton aide :)
Si quelqu'un a une solution je suis preneur (même si j'ai plus d'espoir)
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
4 nov. 2008 à 12:30
Bonjour,

Il serait intéressant de vérifier si la même commande fonctionne sur des fichiers :

- non protégés (un seul fichier suffit) créés pour la circonstance avec l'extension .dll
- protégés (un seul fichier suffit) créés pour la circonstance avec une extension .dll
- non protégés (un seul fichier suffit) créés pour la circonstance avec une extension .txt par exemple.
- protégés (un seul fichier suffit) créés pour la circonstance avec une extension .txt.
dans un même répertoire de test :

Une exécution avec :
del /F C:\Program Files\test\*.dll
Une autre exécution avec :
del /F C:\Program Files\test\*.txt
Et pourquoi pas une autre exécution avec :
del /F C:\Program Files\test\*.*

Cela permettrait de s'assurer si ,oui ou non, c'est la protection en écriture qui empêche la commande de s'exécuter convenablement.
0
Bonsoir,
Bon j'ai essayé se que tu as proposé et le résultat est simple :
-Protégés : Marche Pas
-Non Protégés : Marche
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
4 nov. 2008 à 23:41
Bonsoir,

Je viens d'effectuer un test chez moi (Windows XP) ça fonctionne correctement. Que les fichiers soient protégés ou non protégés et quelque soit l'extension. Il doit, en effet y avoir une particularité sous Vista, ce serait bien que tu fasses un "help DEL" sous l'invite de commandes et que tu compares l'énoncé qui s'affichera à la console avec celui que je t'ai posté, il y aura peut-être une indication (ou une différence) concenant les fichiers protégés.
0
Non lorsque je tape help DEL j'ai absolument pareil que le tient!
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
5 nov. 2008 à 00:31
Le plus embêtant, en l'occurrence est que ça fonctionne correctement chez moi. J'espérais le contraire en faisant ces tests car cela m'aurait permis d'essayer les différents paramètres des commandes DELETE et ERASE, notamment les attributs. On aurait bien fini par trouver une solution. Mais là je ne sais plus quoi faire, ni quoi te dire sinon que tu essaies une à une les différentes options de ces commandes (en prenant les précautions d'usage; sauvegardes éventuelles, environnement de test) du moins celles des options qui s'apparentent au problème. Je ne peux malheureusement pas le faire pour la raison évoquée plus haut, ça ne démontrerait rien mon environnement ne réagit pas de manière identique au tien et ce, de manière restrictive.
0
C'est déja très sympa de ta part de m'avoir aidé depuis hier et de ne pas avoir laisser tombé, tu as fait plus que j'aurais espéré. A vrai dire j'ai déja essayé pas mal d'attributs et tout mai aucun résultat... Je pense vraiment qu'aucune commande MS-DOS ne pourra intervenir sur des fichiers protégés de Vista. Sa doit, à mon avis, être une mesure de sécurité prise par Microsoft dans leur dernière version. Je vais essayé de me mettre au C++, qui me parrait très compliqué en espérant que sa soit possible avec se langage.

En tout cas merci beaucoup de ton aide.

A bientôt.
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
5 nov. 2008 à 01:02
Je continue de regarder de mon côté si je trouve quelque chose je te fais signe,

Alors, à bientôt peut-être,
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
5 nov. 2008 à 01:28
Salut,
J'ai survolé vite fait la conversation.
As-tu essayé d'appliquer attrib -s -r -h avant de le supprimer avec del ?
Cdlt
0
Fiddy merci de t'intéresser d'abord et ensuite tu pourrai pas me faire la ligne que je devrais faire parce que avec les attribues je suis perdu :S
0
I'm_Here Messages postés 154 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 30 novembre 2008 26
5 nov. 2008 à 06:29
Bonjour,

les chemins qui comportent des espaces doivent se mettrent entre guillemets.

par conséquent :

@Echo off

ATTRIB -R -S "C:\Program Files\" /S /D
DEL /S /Q /F /AS "C:\Program Files\audiograbber\*.dll"

PAUSE>NUL


Si ça ne marche pas alors essaye sur des répertoires autres que C:\Program Files\ pour voir si le problème ne concerne que ce répertoire

**************

autre alternative :

essaye de renommer tes *.dll en *.txt ce qui va donner :

REN "C:\Program Files\audiograbber\*.dll" "C:\Program Files\audiograbber\*.txt"


puis essaye d'effacer tous les *.txt (en prenant garde de ne pas avoir de txt avant cette démarche dans le même répertoire..)

0
Non rien à faire aucune commande MS-DOS n'arrive à intervenir sur ce répertoire. Mais sur des fichiers non-protégés ex Bureau la il n'y a pas de soucis.

Sinon sur ton premier code I'm Here j'ai deux messages dans la fenêtre MS-DOS:

Fichier introuvable - C:\Program Files\
Impossible de trouver C:\Program Files\audiograbber\*.dll

et pour ton dernier code voila le résultat:

Syntaxe de la commande incorrecte.
0
I'm_Here Messages postés 154 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 30 novembre 2008 26
5 nov. 2008 à 20:56
Bonsoir,

effectivement, la syntaxe du 2 eme code est incorrecte remplace-la par

REN "C:\Program Files\audiograbber\*.dll"  *.txt


mais avant tout verifie s'il y a des fichiers *.dll dans le répertoire audiograbber :

dir /b /a-d  "C:\Program Files\audiograbber\*.dll"
0
C'est sympa de chercher des solutions I'm Here mais à mon avis laissons tombé car rien n'y fait je pense que c'est une nouvelle mesure de sécurité de Vista les fichiers protégés sont intouchables :S. Merci à vous deux de vos aides :)
0