a) Connaissez vous un moyen simple de modifier les attribut d'un fichier (je
veux effacer le flag de RO).
(évidement system ("attrib -r $monfichier"); marche surement mais
apperler le system est couteux en temps)
b) avec la fonction File::Copy::copy, peut on copier un fichier SANS en
copier les attributs ?
a) Connaissez vous un moyen simple de modifier les attribut d'un fichier (je veux effacer le flag de RO). (évidement system ("attrib -r $monfichier"); marche surement mais apperler le system est couteux en temps)
C'est quoi cette commande 'attrib' ? Sous quel système ? (*)
En Perl, la fonction qui semble la plus proche de ce que vous cherchez est 'chmod'.
b) avec la fonction File::Copy::copy, peut on copier un fichier SANS en copier les attributs ?
C'est déjà ce que fait 'copy'. Pour une copie avec préservation d'attributs, il faut utiliser 'syscopy'.
Sinon, la notion d'attributs est fortement liée à celle de système de fichiers. Et le type de système de fichiers utilisés est souvent lié à l'OS utilisé. Vous pouvez donc chercher dans les modules spécifiques à votre système...
(*) J'ai volontairement cassé ma boule de cristal...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
a) Connaissez vous un moyen simple de modifier les attribut d'un fichier (je
veux effacer le flag de RO).
(évidement system ("attrib -r $monfichier"); marche surement mais
apperler le system est couteux en temps)
C'est quoi cette commande 'attrib' ? Sous quel système ? (*)
En Perl, la fonction qui semble la plus proche de ce que vous cherchez
est 'chmod'.
b) avec la fonction File::Copy::copy, peut on copier un fichier SANS en
copier les attributs ?
C'est déjà ce que fait 'copy'. Pour une copie avec préservation
d'attributs, il faut utiliser 'syscopy'.
Sinon, la notion d'attributs est fortement liée à celle de système de
fichiers. Et le type de système de fichiers utilisés est souvent lié à
l'OS utilisé. Vous pouvez donc chercher dans les modules spécifiques à
votre système...
(*) J'ai volontairement cassé ma boule de cristal...
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
a) Connaissez vous un moyen simple de modifier les attribut d'un fichier (je veux effacer le flag de RO). (évidement system ("attrib -r $monfichier"); marche surement mais apperler le system est couteux en temps)
C'est quoi cette commande 'attrib' ? Sous quel système ? (*)
En Perl, la fonction qui semble la plus proche de ce que vous cherchez est 'chmod'.
b) avec la fonction File::Copy::copy, peut on copier un fichier SANS en copier les attributs ?
C'est déjà ce que fait 'copy'. Pour une copie avec préservation d'attributs, il faut utiliser 'syscopy'.
Sinon, la notion d'attributs est fortement liée à celle de système de fichiers. Et le type de système de fichiers utilisés est souvent lié à l'OS utilisé. Vous pouvez donc chercher dans les modules spécifiques à votre système...
(*) J'ai volontairement cassé ma boule de cristal...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
ECCO
C'est quoi cette commande 'attrib' ? Sous quel système ? (*)
sous DOS ou WINDOWS, attrib change les attributs de fichiers
Et sous ce syteme, File::Copy::copy($_[0], $_[1]) recopie aussi les attributs de fichiers... mais apres ca: $File::Copy::Syscopy_is_copy = 0 ca marche mieux.
Enfin, la bonne nouvelle c'est que CHMOD change les attributs de fichiers.
On a une fonction symétrique pour lire les attributs des fichiers ?
<http://perl.enstimac.fr/DocFr/perlfunc.html#item_chmod> toujours tres utile cette doc, merci
C'est quoi cette commande 'attrib' ? Sous quel système ? (*)
sous DOS ou WINDOWS, attrib change les attributs de fichiers
Et sous ce syteme, File::Copy::copy($_[0], $_[1]) recopie aussi les
attributs de fichiers... mais apres ca: $File::Copy::Syscopy_is_copy = 0 ca
marche mieux.
Enfin, la bonne nouvelle c'est que CHMOD change les attributs de fichiers.
On a une fonction symétrique pour lire les attributs des fichiers ?
<http://perl.enstimac.fr/DocFr/perlfunc.html#item_chmod>
toujours tres utile cette doc, merci
C'est quoi cette commande 'attrib' ? Sous quel système ? (*)
sous DOS ou WINDOWS, attrib change les attributs de fichiers
Et sous ce syteme, File::Copy::copy($_[0], $_[1]) recopie aussi les attributs de fichiers... mais apres ca: $File::Copy::Syscopy_is_copy = 0 ca marche mieux.
Enfin, la bonne nouvelle c'est que CHMOD change les attributs de fichiers.
On a une fonction symétrique pour lire les attributs des fichiers ?
<http://perl.enstimac.fr/DocFr/perlfunc.html#item_chmod> toujours tres utile cette doc, merci
C'est quoi cette commande 'attrib' ? Sous quel système ? (*)
sous DOS ou WINDOWS, attrib change les attributs de fichiers
Merci de le préciser... De mon côté, je (re)précise que j'ai *volontairement* cassé ma boule de cristal ;-)
Et sous ce syteme, File::Copy::copy($_[0], $_[1]) recopie aussi les attributs de fichiers... mais apres ca: $File::Copy::Syscopy_is_copy = 0 ca marche mieux.
Certes mais vous passez par un moyen non documenté par le module File::Copy. Dans une prochaine version de ce module cette variable sera peut-être une constante... ou aura peut-être carrément disparue. Mieux vaut faire appelle directement à Win32::CopyFile après avoir lu la doc correspondante :
perldoc Win32::CopyFile
(je ne crois pas qu'il existe de traduction française de la doc de ce module...)
Enfin, la bonne nouvelle c'est que CHMOD change les attributs de fichiers.
C'est fait pour... Lisez tout de même les limitations de 'chmod' liées à votre système dans perlport :
On a une fonction symétrique pour lire les attributs des fichiers ?
Ce n'est pas une fonction mais un ensemble de tests ou d'opérateurs (en fait je ne sais pas vraiment comment nommer cette syntaxe un peu particulière héritée des shells):
C'est quoi cette commande 'attrib' ? Sous quel système ? (*)
sous DOS ou WINDOWS, attrib change les attributs de fichiers
Merci de le préciser... De mon côté, je (re)précise que j'ai
*volontairement* cassé ma boule de cristal ;-)
Et sous ce syteme, File::Copy::copy($_[0], $_[1]) recopie aussi les
attributs de fichiers... mais apres ca: $File::Copy::Syscopy_is_copy = 0 ca
marche mieux.
Certes mais vous passez par un moyen non documenté par le module
File::Copy. Dans une prochaine version de ce module cette variable
sera peut-être une constante... ou aura peut-être carrément
disparue. Mieux vaut faire appelle directement à Win32::CopyFile après
avoir lu la doc correspondante :
perldoc Win32::CopyFile
(je ne crois pas qu'il existe de traduction française de la doc de ce
module...)
Enfin, la bonne nouvelle c'est que CHMOD change les attributs de fichiers.
C'est fait pour... Lisez tout de même les limitations de 'chmod' liées
à votre système dans perlport :
On a une fonction symétrique pour lire les attributs des fichiers ?
Ce n'est pas une fonction mais un ensemble de tests ou d'opérateurs
(en fait je ne sais pas vraiment comment nommer cette syntaxe un peu
particulière héritée des shells):
C'est quoi cette commande 'attrib' ? Sous quel système ? (*)
sous DOS ou WINDOWS, attrib change les attributs de fichiers
Merci de le préciser... De mon côté, je (re)précise que j'ai *volontairement* cassé ma boule de cristal ;-)
Et sous ce syteme, File::Copy::copy($_[0], $_[1]) recopie aussi les attributs de fichiers... mais apres ca: $File::Copy::Syscopy_is_copy = 0 ca marche mieux.
Certes mais vous passez par un moyen non documenté par le module File::Copy. Dans une prochaine version de ce module cette variable sera peut-être une constante... ou aura peut-être carrément disparue. Mieux vaut faire appelle directement à Win32::CopyFile après avoir lu la doc correspondante :
perldoc Win32::CopyFile
(je ne crois pas qu'il existe de traduction française de la doc de ce module...)
Enfin, la bonne nouvelle c'est que CHMOD change les attributs de fichiers.
C'est fait pour... Lisez tout de même les limitations de 'chmod' liées à votre système dans perlport :
On a une fonction symétrique pour lire les attributs des fichiers ?
Ce n'est pas une fonction mais un ensemble de tests ou d'opérateurs (en fait je ne sais pas vraiment comment nommer cette syntaxe un peu particulière héritée des shells):
<http://perl.enstimac.fr/DocFr/perlfunc.html#item_chmod> toujours tres utile cette doc, merci
C'était juste un peu plus haut (bon d'accord c'est un gros morceau...).
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
jl_morel
Dans l'article , a dit...
Et sous ce syteme, File::Copy::copy($_[0], $_[1]) recopie aussi les attributs de fichiers... mais apres ca: $File::Copy::Syscopy_is_copy = 0 ca marche mieux.
Certes mais vous passez par un moyen non documenté par le module File::Copy. Dans une prochaine version de ce module cette variable sera peut-être une constante... ou aura peut-être carrément disparue. Mieux vaut faire appelle directement à Win32::CopyFile après avoir lu la doc correspondante :
perldoc Win32::CopyFile
(je ne crois pas qu'il existe de traduction française de la doc de ce module...)
Si si : http://www.bribes.org/perl/docfr/win32.html
Il est préférable d'utiliser File::Copy car il est portable et pour Windows il définit syscopy par :
Si on fait $File::Copy::Syscopy_is_copy = 0 alors la copie se fait par l'intermédiaire d'un tampon auxiliaire et c'est beaucoup moins rapide. La fonction CopyFile de l'API Windows recopie les attributs sauf les attributs de sécurité : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/copyfile.asp Il faut donc modifier les attributs après la copie.
Pour utiliser presque toutes les fonctions de l'API Windows sur les fichiers il y a le module Win32API::File : http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/site/lib/Win32API/File.html
Il y a aussi le module Win32::File pour lire et modifier les attributs d'un fichier : http://www.bribes.org/perl/docfr/win32file.html
-- J-L.M. http://www.bribes.org/perl
Dans l'article <r71x5s9sux.fsf@vaugirard.enstimac.fr>, Paul.Gaborit@invalid.invalid a dit...
Et sous ce syteme, File::Copy::copy($_[0], $_[1]) recopie aussi les
attributs de fichiers... mais apres ca: $File::Copy::Syscopy_is_copy = 0 ca
marche mieux.
Certes mais vous passez par un moyen non documenté par le module
File::Copy. Dans une prochaine version de ce module cette variable
sera peut-être une constante... ou aura peut-être carrément
disparue. Mieux vaut faire appelle directement à Win32::CopyFile après
avoir lu la doc correspondante :
perldoc Win32::CopyFile
(je ne crois pas qu'il existe de traduction française de la doc de ce
module...)
Si si :
http://www.bribes.org/perl/docfr/win32.html
Il est préférable d'utiliser File::Copy car il est portable et pour Windows
il définit syscopy par :
Si on fait $File::Copy::Syscopy_is_copy = 0 alors la copie se fait par
l'intermédiaire d'un tampon auxiliaire et c'est beaucoup moins rapide.
La fonction CopyFile de l'API Windows recopie les attributs sauf les
attributs de sécurité :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/copyfile.asp
Il faut donc modifier les attributs après la copie.
Pour utiliser presque toutes les fonctions de l'API Windows sur les
fichiers il y a le module Win32API::File :
http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/site/lib/Win32API/File.html
Il y a aussi le module Win32::File pour lire et modifier les attributs
d'un fichier :
http://www.bribes.org/perl/docfr/win32file.html
Et sous ce syteme, File::Copy::copy($_[0], $_[1]) recopie aussi les attributs de fichiers... mais apres ca: $File::Copy::Syscopy_is_copy = 0 ca marche mieux.
Certes mais vous passez par un moyen non documenté par le module File::Copy. Dans une prochaine version de ce module cette variable sera peut-être une constante... ou aura peut-être carrément disparue. Mieux vaut faire appelle directement à Win32::CopyFile après avoir lu la doc correspondante :
perldoc Win32::CopyFile
(je ne crois pas qu'il existe de traduction française de la doc de ce module...)
Si si : http://www.bribes.org/perl/docfr/win32.html
Il est préférable d'utiliser File::Copy car il est portable et pour Windows il définit syscopy par :
Si on fait $File::Copy::Syscopy_is_copy = 0 alors la copie se fait par l'intermédiaire d'un tampon auxiliaire et c'est beaucoup moins rapide. La fonction CopyFile de l'API Windows recopie les attributs sauf les attributs de sécurité : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/copyfile.asp Il faut donc modifier les attributs après la copie.
Pour utiliser presque toutes les fonctions de l'API Windows sur les fichiers il y a le module Win32API::File : http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/site/lib/Win32API/File.html
Il y a aussi le module Win32::File pour lire et modifier les attributs d'un fichier : http://www.bribes.org/perl/docfr/win32file.html
Mieux vaut faire appelle directement à Win32::CopyFile après avoir lu la doc correspondante :
perldoc Win32::CopyFile
(je ne crois pas qu'il existe de traduction française de la doc de ce module...)
Si si : http://www.bribes.org/perl/docfr/win32.html
Exact. Et pourtant j'avais cherché... mais je me suis laissé abuser par le nom : je cherchais la doc d'un module alors que c'est une fonction. Quelle idée aussi de commencer le nom d'une fonction par une majuscule (même si elle est [CORE]) !
[... plein d'explications précises sur les spécificités Windows...]
Merci pour ces détails.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
Mieux vaut faire appelle directement à Win32::CopyFile après
avoir lu la doc correspondante :
perldoc Win32::CopyFile
(je ne crois pas qu'il existe de traduction française de la doc de ce
module...)
Si si :
http://www.bribes.org/perl/docfr/win32.html
Exact. Et pourtant j'avais cherché... mais je me suis laissé abuser
par le nom : je cherchais la doc d'un module alors que c'est une
fonction. Quelle idée aussi de commencer le nom d'une fonction par une
majuscule (même si elle est [CORE]) !
[... plein d'explications précises sur les spécificités Windows...]
Merci pour ces détails.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
Mieux vaut faire appelle directement à Win32::CopyFile après avoir lu la doc correspondante :
perldoc Win32::CopyFile
(je ne crois pas qu'il existe de traduction française de la doc de ce module...)
Si si : http://www.bribes.org/perl/docfr/win32.html
Exact. Et pourtant j'avais cherché... mais je me suis laissé abuser par le nom : je cherchais la doc d'un module alors que c'est une fonction. Quelle idée aussi de commencer le nom d'une fonction par une majuscule (même si elle est [CORE]) !
[... plein d'explications précises sur les spécificités Windows...]
Merci pour ces détails.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>