[Batch] Comment gérer un fichier suivant l'attribut
Bonjour,
Je suis en train d'écrire un batch afin de faire certaine opérations de fichier.
Une de ces opérations est de supprimer un fichier d'une liste uniquement s'il est en Read-Only.
Concrètement ca donnerait :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| IF EXIST %fileList% (
for /f "tokens=1,2 delims=-" %%i in (%fileList%) do (
IF EXIST %%i-%%j.ini (
echo File %%i-%%j.ini found
IF /*Fichier %%i-%%j.ini en lecture seule*/ (
del %%i-%%j.ini /F
)
[.....................]
)
)
) ELSE (
echo %fileList% file is not found
echo Please, put %fileList% in the current folder
) |
Si vous savez quoi mettre à la place du commentaire ou avec une autre structure,... :?
Merci par avance ! ;)
[Résolu] [Batch] Comment gérer un fichier suivant l'attribut
Merci pour ton aide shawn12
Citation:
Envoyé par
shawn12
Regarde du coté de la commande attrib :
Tu teste s'il a l'attribut R.
Je connait la command Attrib, je l'utilise d'ailleurs plus loin dans le script.
Elle renvoie en effet un resultat de ce type :
Code:
A R I:\MyFolder\MyBatch.bat
Je peux eventuellement reformuler ma question :
Comment detecter dans un "IF" la présence du 'R' dans la réponse de la commande ATTRIB ? La commande IF du batch est assez limitée... :?
Merci pour votre aide
[EDIT:RESOLUTION]
J'ai trouvé ma solution, désolé pour le dérangement...
La voici, en fait, plutot que de faire un IF sur le fichier a supprimer, je n'avais pas vu que la commande DEL permettait de supprimer un fichier en fonction de son attribut ! :roll:
Voici ce que ca donne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| IF EXIST %fileList% (
for /f "tokens=1,2 delims=-" %%i in (%fileList%) do (
IF EXIST %%i.%%j (
echo File %%i.%%j found
del /F /A:R %%i.%%j /* <== ICI !!! */
)
[.....]
)
) ELSE (
echo %fileList% file is not found
echo Please, put %fileList% in the current folder
) |
La commande DEL étant elle expliqué ainsi :
Code:
1 2 3 4 5 6 7 8 9 10 11
| Supprime un ou plusieurs fichiers.
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributs]] noms
/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 |
Merci quand même pour votre aide, j'espère que ca pourra aider quelqu'un d'autre... :mouarf: