FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» EPP_V01 éditeur pour Panoramic
par Minibug Hier à 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Hier à 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Hier à 15:58

» Planétarium virtuel.
par Pedro Alvarez Hier à 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Calculatrice
par joeeee2017 Mar 18 Sep 2018 - 9:35

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 A propos des attributs de fichier

Aller en bas 
AuteurMessage
Oscaribout



Nombre de messages : 195
Date d'inscription : 29/12/2016

MessageSujet: A propos des attributs de fichier   Dim 22 Oct 2017 - 0:53

Je pense qu'après des constatations faites sur les fichiers, vous seriez intéressé sur ce sujet. Il peut répondre ou résoudre quelques problèmes, mais ne prétend à rien. Je ne vais pas faire de commentaire sur mon intervention, je pense qu'il faut parfois sortir de ses idées pour s'améliorer.

Voila! Je suis intervenu ici après des problèmes avec mon pc. Je ne suis pas le seul a avoir été dans ce cas. Je suis en train de revoir mes méthodes de travail concernant la sauvegarde de mes fichiers. Je me demandais comment par exemple on pouvait savoir si un fichier était déjà sauvegardé pour éviter de refaire une copie systématique de celui-ci. Par exemple, si on sauvegarde sur une clé flash, petit à petit, l'écriture sur cette dernière finie par la détériorer. Aussi moins on écrit dessus, mieux cela est.

On peut aussi par exemple avoir un disque virtuel de travail, et avoir besoin de faire une copie de ses fichiers de sauvegarde à heure fixe pour ne pas êtes victime d'un crash et perdre ses données. Il y a plein de raison pour se poser la question et palier à ses problèmes.

En regardant dans l'aide j'ai remarqué: FILE_ARCHIVE et FILE_ARCHIVE_OFF. Je me suis toujours demandé pourquoi on avait des fichiers archives et d'autres non. J'ai enfin pris le temps de rechercher sur le web, et j'ai compris le but de cet attribut. Ainsi, chaque fois par exemple on sauvegarde un programme, celui-ci a l'attribut ARCHIVE. Ceci permet à un programme de backup de savoir si ce fichier est "neuf" et alors on fait une copie. Je suis content, j'ai enfin compris l'intérêt de cet attribut.

Me voila riche d'un nouvel enseignement. Bien, en regardant les commande Panoramic, on voit  qu'on a FILE_ARCHIVE, FILE_SYSYEM, FILE_HIDE etc.... et l'inverse. Oui mais à quoi peuvent servir ces commandes? On en a pas pour lire les attributs des fichiers. J'ai téléchargé kgf pour voir l'aide, et Klaus est formidable, il a prévu le cas. Il s'agit de GetFileAttributes.
Pour faire une sauvegarde d'un fichier qui a été modifié, il suffit de regarder son attribut. Si il est archivé, on fait une copie de ce dernier. Ensuite ce fichier, on le désarchive par FILE_ARCHIVE_OFF, afin que la prochaine fois, on le laisse de côté. Pour savoir si un fichier est archivé ou non:

Code:
' teste avec la dll de Klaus, pour voir comment lire un fichier archive
' ===================================================================== '

   kgf() : ' ouvre avec dll_on

   dim res%,fichier$
   open_dialog 1
   fichier$ = file_name$(1)
   if fichier$ <> "_"
   ' file_archive_off fichier$
   ' file_system_off fichier$
   res% = dll_call1("GetFileAttributes",adr(fichier$))
   ' message "syetem_off archive_on :" + str$( res%)
   if bin_and(res%,32)>0 then message "fichier archivé" :else:message "fichier non archive"
end_if

J'ai mis sub kgf() , à la place il faut y mettre dll_on "nom_dossier_kgf.dll"

Ensuite à partir d'un fichier qui aurait par exemple la liste des fichiers à prendre ne compte, ou tout simplement d'un dossier spécifique, on fait un programme qui boucle sur les noms, vérifie l'attribut de chacun d'eux, et selon copie ou non le fichier, en changeant ensuite son attribut.

Maintenant j'ai fait une autre constatation, et là c'est à vérifier, cela pourrait résoudre des problèmes de blocage d'ouverture ou d'autre de fichier.

J'ai constaté en faisant FILE_SYSTEM sur le nom d'un source bas, il était impossible de sauvegarder ce dernier. L'accès est interdit. Donc pour ce fichier, j'ai fait ensuite: FILE_SYSTEM_OFF, et j'ai pu ainsi débloquer ce dernier. Il sera intéressant de faire un essai la prochaine fois qu'un fichier quelconque est bloqué, si on peut mettre l'attribut OFF sur system.

(Peut-être faudrait-il que Jack apporte une nouvelle commande pour les les attributs fichier.)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: A propos des attributs de fichier   Dim 22 Oct 2017 - 10:47

Merci ! Smile Smile Smile

Tu dis:
Citation :
J'ai constaté en faisant FILE_SYSTEM sur le nom d'un source bas, il était impossible de sauvegarder ce dernier. L'accès est interdit. Donc pour ce fichier, j'ai fait ensuite: FILE_SYSTEM_OFF, et j'ai pu ainsi débloquer ce dernier. Il sera intéressant de faire un essai la prochaine fois qu'un fichier quelconque est bloqué, si on peut mettre l'attribut OFF sur system.
C'est extact. Et ça va même plus loin: cela jour également sur l'attribut du dossier dans lequel on veut écrire. Mais malheureusement, ce n'est pas tout: la notion de "propriétée d'un fichier ou d'un dossier entre en ligne de compte également, et là, il n'y a pas de solution simple, ni en Panoramic ni via KGF.dll. Je n'ai pas codé de fonctions touchant à la propriété d'un fichier ou d'un dossier, afin d'éviter de semer pagaille dans cette gestion complexe qui est pourtant essentielle pour la sécurité de Windows. Si on a vraiment besoin de toucher à cela, il faut faire un script en VBScript, par exemple, ou PowerShell sous W10.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

Nombre de messages : 5990
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: A propos des attributs de fichier   Dim 22 Oct 2017 - 13:33

Les attributs d’un fichier sous windows sont :
R : (Read Only)  Lecture seule : Interdire les modifications ou la suppression du fichier
A : (Archive) Archive : Marquer le fichier crée ou modifié depuis la dernière sauvegarde
H : (Hidden) fichier caché : Cacher le fichier (même pour la commande DIR)
S : (System) Fichier Système : Le fichier est utilisé par le système d’exploitation.

Un fichier peut n’avoir aucun attribut, un ou plusieurs attributs.
La commande ATTRIB de l’invite de commandes peut être utilisée pour voir ou modifier les attributs d’un ou de plusieurs fichiers.

Syntaxe :

ATTRIB [+R | -R ]  [+A | -A ] [+S | -S]  [+H | -H] [[Lecteur :] [Chemin] Fichier ] [/S [/D]]

Le signe + pour mettre l’attribut.
Le signe – pour retirer l’attribut.
[Lecteur :] [Chemin ] [NomFichier] spécifie le ou les fichiers que ATTRIB doit traiter ; on peut utiliser le joker *  dans les noms et /ou extensions des fichiers.
/S : Traite les fichiers dans le dossier courant et dans tous les sous-dossiers.
/D Traite aussi les dossiers.

La commande ATTRIB seule (sans aucun switch) affiche le ou les attributs des fichiers du dossier courant.


Exemples :
1/ Pour enlever les attributs "lecture seule", "système" et "caché" d'un fichier, il faut utiliser la syntaxe :

Code:

attrib -r -s -h nom-fichier


2/ Pour restaurer les attributs, la commande est :
Code:

attrib +r +s +h nom-fichier


3/ Pour enlever l'attribut "lecture seule" de tous les fichiers dans un répertoire et ses sous-répertoires, utilisez :
Code:

attrib -r unDossier\*.* /s



Comme bonus, je vous donne cette astuce que je trouve bien pratique : C’est la commande SUBST
Si vous utilisez en permanence certains dossiers et que vous aimez avoir un accès direct à ceux-ci, utilisez la commande SUBST pour assigner une lettre de lecteur à un dossier.

Exemple : Pour associer le lecteur "Z:" au dossier "monDossier", utilisez :

Code:

subst z: monDossier


Remarque : vous devez utiliser le chemin complet vers le dossier monDossier.
Cette association entre la lettre de lecteur est maintenue jusqu'à ce que l'utilisateur se déconnecte ou que l'ordinateur soit éteint.
Vous pouvez créer un fichier batch d’une seule ligne pour rétablir cette association.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: A propos des attributs de fichier   

Revenir en haut Aller en bas
 
A propos des attributs de fichier
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» A propos des attributs de fichier
» a propos du fichier "ext data" et " fs image ver"
» fichier Thunderbird Document
» faire une copie du fichier de la license de SZ ?
» fichier swf

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Présentation et bavardage-
Sauter vers: