Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/08/2007, 10h02   #1
Futur Membre du Club
 
Inscription : août 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 36
Points : 16
Points : 16
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 :
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
newbiegeek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2007, 00h13   #2
Membre confirmé
 
Avatar de Cpas2latarte
 
Inscription : janvier 2006
Messages : 238
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 238
Points : 217
Points : 217
Citation:
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 :
Citation:
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 :
ObjFSO.getFile( ObjFSO.buildPath(vRepDef, vFichierRO) )
__________________
Il n'y a que 2 choses infinies dans le monde :
L'univers et la bétise humaine...
Mais pour l'univers, je n'ai pas de certitude (A.E.)
Cpas2latarte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2007, 08h57   #3
Futur Membre du Club
 
Inscription : août 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 36
Points : 16
Points : 16
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
newbiegeek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2007, 16h09   #4
Membre émérite
 
Avatar de marabout
 
Homme
Consultant E-Learning
Inscription : août 2006
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant E-Learning

Informations forums :
Inscription : août 2006
Messages : 646
Points : 812
Points : 812
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)
marabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 14h18   #5
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
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 :
1
2
3
4
5
 
if ((F.Attributes && 1) == 0)
    {
        F.Attributes += 1;
    }
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 17h33   #6
Membre confirmé
 
Avatar de Cpas2latarte
 
Inscription : janvier 2006
Messages : 238
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 238
Points : 217
Points : 217
si c'est un bit alors il vaut mieux faire de la sorte :
(JS)
Code :
1
2
 
F.Attributes = F.Attributes |1;
(VBS)
Code :
1
2
 
F.Attributes = F.Attributes Or 1
__________________
Il n'y a que 2 choses infinies dans le monde :
L'univers et la bétise humaine...
Mais pour l'univers, je n'ai pas de certitude (A.E.)
Cpas2latarte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 09h40   #7
Futur Membre du Club
 
Inscription : août 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 36
Points : 16
Points : 16
merci, je vais essayer vos réponses
newbiegeek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 10h09   #8
Futur Membre du Club
 
Inscription : août 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 36
Points : 16
Points : 16
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.
newbiegeek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 10h13   #9
Membre émérite
 
Avatar de marabout
 
Homme
Consultant E-Learning
Inscription : août 2006
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant E-Learning

Informations forums :
Inscription : août 2006
Messages : 646
Points : 812
Points : 812
Perso, face au même problème, je n'étais pas parvenu à renommer le fichier donc je l'ai copié et supprimé
marabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 10h35   #10
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
Bonjour

J'ai peut-etre pas bien compris la question , mais pour renommer un fichier, il "suffit" de modifier son attribut Name :
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 11h24   #11
Membre émérite
 
Avatar de marabout
 
Homme
Consultant E-Learning
Inscription : août 2006
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations professionnelles :
Activité : Consultant E-Learning

Informations forums :
Inscription : août 2006
Messages : 646
Points : 812
Points : 812
Trop simple mais tellement évident !
marabout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 11h45   #12
Membre confirmé
 
Avatar de Cpas2latarte
 
Inscription : janvier 2006
Messages : 238
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 238
Points : 217
Points : 217
Avant tout assure toi que le compte NT pour IIS (IUSR_NOMMACHINE)
à le droit en MODIFICATION sur le répértoire.
__________________
Il n'y a que 2 choses infinies dans le monde :
L'univers et la bétise humaine...
Mais pour l'univers, je n'ai pas de certitude (A.E.)
Cpas2latarte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 08h57   #13
Futur Membre du Club
 
Inscription : août 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 36
Points : 16
Points : 16
merci pour vos réponses
je vais essayer de voir ce truc là
newbiegeek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 11h12   #14
Futur Membre du Club
 
Inscription : août 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 36
Points : 16
Points : 16
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.
newbiegeek est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h35.


 
 
 
 
Partenaires

Hébergement Web