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

ASP Discussion :

problèmes de FileSystemObject


Sujet :

ASP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 36
    Points : 22
    Points
    22
    Par défaut problèmes de FileSystemObject
    Bonjour chere communauté qui m'a déjà bien aidé par ce forum,

    j'ai un petit problème sur la gestion de fichier. je dois faire une copie d'un fichier et la mettre en lecture seule, et ce, malgré toutes les versions que j'ai pu trouver, aucune des versions que j'ai mises ne fonctionne, j'ai essayé avec:



    vRepDef est le chemin du fichier et vFichierRO son nom relatif (après les "\"), ils marchent très bien puisque le fichier existe bel et bien.

    j'ai aussi essaye le getFile sans les parenthèses, mais toujours sans succès.

    je commence à désespérer, parce que comme d'habitude, je trouve un fossé entre la théorie et la pratique... surtout que le serveur IIS sur lequel je bosse a l'air un peu chaotique.

    j'ai aussi un problème à un moment donné: selon une action qui peut etre effectuée par certains utilisateurs, je peux être amené à changer le nom de 2 fichiers dans ma base: le changement de la chaine du nom est correct (on m'a déjà aidé à réaliser ce changement), mais hélas, j'ai encore un problème avec un objet FSO.
    voilà le code que j'ai pour renommer ces 2 fichiers (et normalement il remet celui qui était en lecture seule en lecture seule, mais évidemment, ça ne marche pas ce truc)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    set ObjFSO= Server.CreateObject("Scripting.FileSystemObject")
    			if ObjFSO.FileExists(vNomAbsolu) Then ObjFSO.MoveFile vNomAbsolu,vNewAbsolu
    			if ObjFSO.FileExists(vROAbsolu) then
    			    ObjFSO.MoveFile vROAbsolu , vNewROAbsolu
    			   set F = ObjFSO.getFile(vNewROAbsolu)
    			   F.Attributes= F.Attributes+ ReadOnly
    			   F.Close
    			end if
    il y a 4 chemins absolus en jeu, qui théoriquement n'ont aucune raison d'etre mauvais, donc bon...

    est-ce que quelqu'un a une idée à propos de ces 2 problèmes qui sont relativement liés?

    Merci d'avance

  2. #2
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut
    aucune des versions que j'ai mises ne fonctionne
    qu'est ce qui ne fonctionne pas en faite ? L'attribut du fichier n'est pas le bon ? un message d'erreur ?

    Pour la construction du chemin :
    set F= ObjFSO.getFile( vRepDef & vFichierRO )
    je te conseille plutôt d'utiliser la methode "buildpath". Car ça gere tout seule le "\" entre le chemin et le fichier/dossier enfant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ObjFSO.getFile( ObjFSO.buildPath(vRepDef, vFichierRO) )

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 36
    Points : 22
    Points
    22
    Par défaut
    en fait, lorsque je vais voir le fichier et que je clique sur Propriétés, l'attribut lecture seule n'est pas coché, c'est assez embetant...

    pour le buildPath, c'est une bonne idée, meme si normalement le chemin devrait fonctionner

    et sinon, quelqu'un peut-il me dire si l'une de mes syntaxes est bonne et laquelle? ou que dois-je utiliser pour mettre en lecture seule? merci d'avance

  4. #4
    Membre éclairé
    Avatar de marabout
    Homme Profil pro
    Consultant E-Learning
    Inscrit en
    Août 2006
    Messages
    650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant E-Learning

    Informations forums :
    Inscription : Août 2006
    Messages : 650
    Points : 852
    Points
    852
    Par défaut
    je ne sais pas si la propriété Attributes est updateable mais si c'est possible, tu dois lui donner la valeur 1 (pas +1)

  5. #5
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    Si si, Attributes est updatable, c'est un octet et chaque bit représente un attribut, l'attribut readOnly étant le premier bit de poids faible (celui de droite). Donc il faut bien faire =+1, sous la condition qu'il soit pair avant la modif (s'il est impair, cela veut dire qu'il est déjà en readOnly).

    En jScript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if ((F.Attributes && 1) == 0)
        {
            F.Attributes += 1;
        }

  6. #6
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut
    si c'est un bit alors il vaut mieux faire de la sorte :
    (JS)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    F.Attributes = F.Attributes |1;
    (VBS)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    F.Attributes = F.Attributes Or 1

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 36
    Points : 22
    Points
    22
    Par défaut
    merci, je vais essayer vos réponses

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 36
    Points : 22
    Points
    22
    Par défaut
    ok nickel, ça met bien en lecture seule

    par contre, quelqu'un a-t-il une idée de pourquoi le fichier n'est pas renommé quand je veux? (cf 2° question au départ)

    il me manque plus que ça pour avoir fini ce p***** de script correctement.

  9. #9
    Membre éclairé
    Avatar de marabout
    Homme Profil pro
    Consultant E-Learning
    Inscrit en
    Août 2006
    Messages
    650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant E-Learning

    Informations forums :
    Inscription : Août 2006
    Messages : 650
    Points : 852
    Points
    852
    Par défaut
    Perso, face au même problème, je n'étais pas parvenu à renommer le fichier donc je l'ai copié et supprimé

  10. #10
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    J'ai peut-etre pas bien compris la question , mais pour renommer un fichier, il "suffit" de modifier son attribut Name :

  11. #11
    Membre éclairé
    Avatar de marabout
    Homme Profil pro
    Consultant E-Learning
    Inscrit en
    Août 2006
    Messages
    650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant E-Learning

    Informations forums :
    Inscription : Août 2006
    Messages : 650
    Points : 852
    Points
    852
    Par défaut
    Trop simple mais tellement évident !

  12. #12
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut
    Avant tout assure toi que le compte NT pour IIS (IUSR_NOMMACHINE)
    à le droit en MODIFICATION sur le répértoire.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 36
    Points : 22
    Points
    22
    Par défaut
    merci pour vos réponses
    je vais essayer de voir ce truc là

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 36
    Points : 22
    Points
    22
    Par défaut
    bon, ben j'ai choisi une solution un peu bourrine:
    j'utilise un répertoire tampon (qui sert à d'autres moments dans l'application)
    je fait un déplacement du fichier une fois de mon répertoire vers ce répertoire tampon, puis depuis ce répertoire tampon vers mon répertoire avec le nom que je veux... je comprend par pourquoi le déplacement dans le meme répertoire ne fonctionne pas, mais le tout, c'est que j'aie trouvé une solution fonctionnelle (même si pas très propre...)

    j'espère que le flot de solutions qui ont été proposées ici seront suffisantes pour aider ceux qui en auront besoin par la suite, et je considère de mon coté que mon problème est résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/01/2015, 05h53
  2. Problème avec l'objet FileSystemObject
    Par Poussy-Puce dans le forum ASP
    Réponses: 4
    Dernier message: 27/10/2005, 17h25
  3. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 15h18
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 17h10
  5. Réponses: 6
    Dernier message: 25/03/2002, 22h11

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