DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des fichiers externes
  • Gestion des erreurs
  • Fonctionnement sous Windows Vista (et supérieur)
  • Création de répertoires lors de la copie
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Copie un ou plusieurs fichiers (quels que soient leurs attributs).
WINDEVWEBDEV - Code ServeurEtats et RequêtesJavaCode Utilisateur (MCU)PHPAjax
// Copie de "Fichier.doc" vers "CopieFichier.doc"
Res = fCopieFichier("C:\Répertoires\Fichier.doc", "D:\Documents\CopieFichier.doc")
WINDEVWEBDEV - Code ServeurEtats et RequêtesJavaCode Utilisateur (MCU)PHPAjax
// Copie les fichiers présents dans le répertoire "C:\MesImages"
// Les sous-répertoires et leurs fichiers sont pris en compte (constante frRécursif)
ResCopie = fCopieFichier("C:\MesImages\*.*", "D:\MesFichiers\", frRécursif)
Syntaxe

Copier un fichier ou un répertoire Masquer les détails

<Résultat> = fCopieFichier(<Fichier source> , <Fichier ou répertoire destination> [, <Indicateur de copie>])
<Résultat> : Booléen
  • Vrai si le ou les fichiers ont été copiés,
  • Faux dans le cas contraire. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Fichier source> : Chaîne de caractères
Fichier à copier (260 caractères maximum). Ce paramètre peut correspondre à :
  • un nom de fichier. Ce fichier sera automatiquement recherché dans le répertoire en cours (connu avec la fonction fRepEnCours).
  • un nom de fichier avec son chemin (complet ou relatif). Un chemin de type UNC peut être utilisé.
Cas particuliers selon les plateformes :
  • WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
  • AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
    Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
  • iPhone/iPadWidget IOSMac Catalyst Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
    Rappel : Sous les iPhone/iPad, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
Gestion des caractères joker (*, ?) : Par défaut, les caractères jokers sont autorisés dans le nom du fichier.
Cas particulier selon les plateformes :
  • Java Si l'expression "*.*" est utilisée, seuls les fichiers avec extension seront copiés.
  • PHP Les caractères jokers (*,?) sont autorisés dans le chemin et le nom du fichier.
<Fichier ou répertoire destination> : Chaîne de caractères
Fichier et/ou répertoire destination (260 caractères maximum). Ce paramètre peut correspondre à :
  • un nom de fichier. Ce fichier sera automatiquement créé dans le répertoire en cours (connu avec la fonction fRepEnCours).
  • un nom de fichier avec son chemin (complet ou relatif). Un chemin de type UNC peut être utilisé.
  • un chemin (complet ou relatif), uniquement dans le cas d'une copie avec caractères jokers.
Si ce paramètre correspond à un nom de répertoire, ce nom peut être terminé indifféremment par "\" ou non.
Cas particuliers selon les plateformes :
  • WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
  • AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
    Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
  • iPhone/iPadWidget IOSMac Catalyst Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
    Rappel : Sous les iPhone/iPad, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
<Indicateur de copie> : Constante optionnelle
Type de copie à effectuer :
frConfirmerCopie d'un fichier avec demande de confirmation avant l'écrasement d'un fichier de même nom.
WEBDEV - Code ServeurUniversal Windows 10 AppAndroidWidget AndroidPHP Cette constante n'est pas disponible.
frJaugeUne fenêtre de progression est affichée. Si le fichier est petit (quelques octets), la jauge n'est pas affichée.
WEBDEV - Code ServeurUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadWidget IOSMac CatalystJavaPHP Cette constante n'est pas disponible.
frRécursifCopie récursive de fichiers. Les sous-répertoires et leurs fichiers sont pris en compte.

Par défaut, <Indicateur de copie> est vide. Aucune des options n'est sélectionnée.
PHP Non disponible en PHP

Copier un ou plusieurs fichiers en manipulant chaque fichier copié Masquer les détails

<Résultat> = fCopieFichier(<Fichier source> , <Fichier ou répertoire destination> , <Procédure WLangage> [, <Pointeur> [, <Indicateur de copie>]])
<Résultat> : Booléen
  • Vrai si le ou les fichiers ont été copiés,
  • Faux dans le cas contraire. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Fichier source> : Chaîne de caractères
Fichier à copier (260 caractères maximum). Ce paramètre peut correspondre à :
  • un nom de fichier. Ce fichier sera automatiquement recherché dans le répertoire en cours (connu avec la fonction fRepEnCours).
  • un nom de fichier avec son chemin (complet ou relatif). Un chemin de type UNC peut être utilisé.
Cas particuliers selon les plateformes :
  • WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
  • AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
    Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
  • iPhone/iPadWidget IOSMac Catalyst Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
    Rappel : Sous les iPhone/iPad, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
Gestion des caractères joker (*, ?) : Par défaut, les caractères jokers sont autorisés dans le nom du fichier.
AndroidWidget AndroidJava Si l'expression "*.*" est utilisée, seuls les fichiers avec extension seront copiés.
<Fichier ou répertoire destination> : Chaîne de caractères
Fichier et/ou répertoire destination (260 caractères maximum). Ce paramètre peut correspondre à :
  • un nom de fichier. Ce fichier sera automatiquement créé dans le répertoire en cours (connu avec la fonction fRepEnCours).
  • un nom de fichier avec son chemin (complet ou relatif). Un chemin de type UNC peut être utilisé.
  • un chemin (complet ou relatif), uniquement dans le cas d'une copie avec caractères jokers.
Si ce paramètre correspond à un nom de répertoire, ce nom peut être terminé indifféremment par "\" ou non.
Cas particuliers selon les plateformes :
  • WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
  • AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
    Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
  • iPhone/iPadWidget IOSMac Catalyst Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
    Rappel : Sous les iPhone/iPad, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage (également nommée "callback") appelée pour chaque fichier copié. Cette procédure permet de manipuler le fichier en cours.
Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction fCopieFichier.
<Pointeur> : Entier optionnel
Pointeur passé à la procédure <Nom de la procédure>.
<Indicateur de copie> : Constante optionnelle
Type de copie à effectuer :
frRécursifCopie récursive de fichiers. Les sous-répertoires et leurs fichiers sont pris en compte.

Par défaut, <Indicateur de copie> est vide : le traitement n'est pas récursif.
Remarques

Gestion des erreurs

La fonction fCopieFichier génère une erreur dans les cas suivants :
  • le fichier à copier n'existe pas,
  • le fichier à copier est bloqué,
  • le <Chemin du fichier à copier> est invalide,
  • le <Chemin du fichier copié> est une chaîne vide,
  • le <Chemin du fichier à copier> et le <Chemin du fichier copié> sont identiques.
WINDEVEtats et RequêtesCode Utilisateur (MCU)

Fonctionnement sous Windows Vista (et supérieur)

Si cette fonction ne fonctionne pas correctement sous Windows Vista (et supérieur), il est nécessaire de vérifier si le fichier ou le répertoire manipulé ne se trouve pas dans un des répertoires système (répertoire de Windows ou répertoire "Program Files").
En effet, sous Windows Vista (et supérieur), avec le mécanisme de l'UAC (contrôle des comptes utilisateurs) activé, il est nécessaire d'avoir les privilèges administrateur pour manipuler / modifier des fichiers ou des répertoires présents dans les répertoires système (répertoire de Windows ou répertoire "Program Files").
Conseil de programmation : Si vous devez manipuler / modifier des fichiers ou des répertoires, sans avoir besoin de privilèges administrateur, il est conseillé :
  • de ne pas écrire dans le répertoire de Windows ou dans le répertoire "Program Files",
  • d'utiliser le répertoire système correspondant à l'application (connu par la fonction SysRep par exemple avec la constante srAppDataCommun).

Création de répertoires lors de la copie

  • Si un des répertoires du chemin destination n'existe pas, il est automatiquement créé.
  • WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadWidget IOSMac CatalystJavaCode Utilisateur (MCU)Ajax Si le fichier source correspond à l'ensemble des fichiers d'un répertoire (par exemple, C:\Temp\*.*), il faut utiliser la constante frRécursif afin de créer les sous-répertoires dans la destination (et copier leur contenu).
Remarque : Pour effectuer des copies de répertoires, il est également possible d'utiliser la fonction fRepCopie.
Liste des exemples associés :
Manipulation de fichiers texte Exemples unitaires (WINDEV) : Manipulation de fichiers texte
[ + ] Manipulation des fichiers "texte" avec WINDEV :
- Créer un fichier texte
- Ecrire dans un fichier texte
- Lire dans un fichier texte
Manipulation de fichiers texte Exemples unitaires (WEBDEV) : Manipulation de fichiers texte
[ + ] Manipulation des fichiers "non HFSQL" avec WEBDEV (création d'un fichier texte, écriture et lecture)
Manipulation de fichiers texte Exemples unitaires (WINDEV Mobile) : Manipulation de fichiers texte
[ + ] Manipulation des fichiers externes de type "texte" :
- Créer un fichier texte
- Ecrire dans un fichier texte
- Lire dans un fichier texte
Classification Métier / UI : Code métier
Composante : wd290std.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 05/04/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale