IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Ouvrir un fichier sans le "locker" avec les FSO


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par défaut Ouvrir un fichier sans le "locker" avec les FSO
    Bonjour,

    J'ecris(mode append) dans un fichier en utilisant les FSO.
    Jusque la pas de probleme, je l'ouvre, je rajoute mes lignes et je le ferme.

    Le soucis c'est que parfois, je quitte mon script sans refermer le fichier, du coup quand je relance mon script je n'arrive plus à l'ouvrir car forcement quelqu'un l'a ouvert et ne la pas rendu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Const ForAppend = 8
    Dim fso, f
     
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.OpenTextFile("c:\temp\ecr.txt", ForAppend,true)
     
    Do While MaCondition
     
    f.write("quelque chose")
    ' traitement sur MaCondition
     
    Loop
     
    f.Close()
    Et donc mon script tourne "sans arret (assez longtemp en fait)" et parfois il est tué (kill) donc impossible de refermer le fichier, et donc de le rouvrir plus tard.
    D'ou m'a question est-il possible d'ouvrir le fichier sans le bloquer en sachant que je gere moi meme le fait qu'il n'y aura pas 2 acces simultané (le script ne sera jamais lancé 2 fois)?

    Merci

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    D'ou m'a question est-il possible d'ouvrir le fichier sans le bloquer
    Non.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par défaut
    ca a le merite d'etre clair!

    Alors par hasard quelqu'un connaitrait-il un moyen pour contourner, changer des paramètres utiliser d'autre type d'objet, une piste meme petite...
    Existe-t-il d'autre moyen d'ecrire dans un fichier (autre que le echo >> (cette solution semble correcte mais pas tres optimisé))?

    Merci

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Non, c'est windows qui bloque l'ouverture du fichier en mode lecture, ecriture, à une seule personne lorsque tu l'ouvres. Personne d'autre ne peut l'utiliser tant qu'il n'est pas fermé. C'est ainsi.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Par défaut
    Pas d'accord!

    Le mécanisme ne bloque pas. On peut ouvrir plein de fois un fichier sous notepad meme user ou user different, de la meme machine ou d'une machine distante. Alors je suis d'accord pour dire que notepad charge le texte en memoire(donc lecture) et n'ecrit dans le fichier que lors de l'enregistrement et que du coup c'est le dernier enregistrement qui prend la main, mais bon ca c'est comprehensible.
    Donc plusieurs notepad ouvre le fichier avec les droits en ecriture(pas de lock).

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Notepad comme tu dis charge le fichier en mémoire -> puis le ferme.

    Il le rouvre lorsque tu sauvegarde, et le referme.

    Tu peux faire pareil dans un programme, mais si lors du chargement en mémoire ton script est killé, le fichier reste locké.

    Au bout d'un moment windows comprends que le fichier n'est plus ouvert par personne et le ferme tout seul.

Discussions similaires

  1. Ouvrir un fichier sans le locker
    Par doudblast dans le forum Windows
    Réponses: 1
    Dernier message: 27/08/2007, 18h58
  2. [Excel] ouvrir un fichier sans le voir à l'écran
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/01/2006, 15h04
  3. Automation excel - ouvrir un fichier sans classeur
    Par Celia1303 dans le forum Access
    Réponses: 3
    Dernier message: 23/11/2005, 20h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo