Bonjour tout le monde,

Nous avons une application installé dans un répertoire réseau.
Voici le code que j'utilise pour créer un fichier dans un répertoire bien spécifique.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
function Trt_EcritureFichierTXT(P_Type, P_NomFichierTXT, P_Expediteur, P_Destinataire, P_Destinataire2, P_Objet, P_Corps) {
// Type = "MAILS" => \Vista_Externe\mails
// Type = "CRQA" => \Vista_Externe\CRQA\FICHIERS_TXT_CRQA
    var WActx_FSO = new ActiveXObject('Scripting.FileSystemObject');
// WActx_FSO.GetSpecialFolder(0) = C:\WINDOWS
// WActx_FSO.GetSpecialFolder(1) = C:\WINDOWS\System32
// WActx_FSO.GetSpecialFolder(2) = C:\Documents and Settings\hurdyk.MIT\Local Settings\Temp
    WRepSpecial = WActx_FSO.GetSpecialFolder(2);
    var WRepAppli = new String(WActx_FSO.GetParentFolderName(G_Loc)); 
    WRepAppli = WRepAppli.substr(8);
    if (WNomFichierTXT == "")
    {
        var WDateSys = new Date();
        var WJourSys = WDateSys.getDate();
        var WMoisSys = WDateSys.getMonth() + 1;
        var WAnneeSys = WDateSys.getYear();
        var WHeureSys = WDateSys.getHours();
        var WMinuteSys = WDateSys.getMinutes();
        if (WMoisSys < 10)
        {
            WMoisSys = "0" + WMoisSys;
        };
        if (WJourSys < 10)
        {
            WJourSys = "0" + WJourSys;
        };
        WDateTXT = WAnneeSys + WMoisSys + WJourSys;
        WHeureTXT = String(WHeureSys) + String(WMinuteSys);
        WNomFichierTXT = "CRQA_" + WDateTXT + "_" + WHeureTXT + ".TXT";
    };
    else
    {
        WNomFichierTXT = P_NomFichierTXT;
    };
 
    var WRepAppli = WRepAppli.split("_PARAM_");
    var WRepAppli00 = WRepAppli[0].split("?");
    var WRepAppli01 = WRepAppli00[0];
    WRepAppli02 = WRepAppli01.split("/");
    WNomPage = WRepAppli02[WRepAppli02.length-1];
    WCheminVista = "";
    i=0
    while (i<=WRepAppli02.length-3)
    {
        WCheminVista = WCheminVista + WRepAppli02[i] + "/";
        i = i + 1;
    };
 
//    WRepAppli03 = WRepAppli01.split(WNomPage);
//    WCheminACCES = WRepAppli03[0]; // Contient : D:\Web\WebOa2\Vista_Externe\CRQA
    if (P_Type == "MAILS")
    {
        WRep_Fichiers = WCheminVista + "MAILS"
//        WRep_Fichiers2 = WRep_Fichiers.replace(/\//g,'\\\\')
 
        var WFichierMails = WActx_FSO.GetFolder(WRep_Fichiers2).CreateTextFile(WNomFichierTXT);
 
        WFichierMails.Writeline("DEBUT");
        WFichierMails.WriteLine("EXPEDITEUR:" + P_Expediteur);
        WFichierMails.WriteLine("DESTINATAIRE:" + P_Destinataire);
        WFichierMails.WriteLine("DESTINATAIRE2:" + P_Destinataire2);
        WFichierMails.WriteLine("OBJET:" + P_Objet);
        WFichierMails.WriteLine("CORPS:" + P_Corps);
        WFichierMails.WriteLine("FIN");
        WFichierMails.close();
    };
    if (P_Type == "CRQA")
    {
        WRep_Fichiers = WCheminVista + "/CRQA/FICHIERS_TXT_CRQA"
//        WRep_Fichiers2 = WRep_Fichiers.replace(/\//g,'\\\\')
        var WFichierMails = WActx_FSO.GetFolder(WRep_Fichiers).CreateTextFile(WNomFichierTXT);
 
        WFichierMails.Writeline("### DEBUT;" + G_Version_Externe + " ###");
        WFichierMails.WriteLine("### CORPS:" + " ###" + G_CrLf + P_Corps + G_CrLf);
        WFichierMails.WriteLine("### FIN ###");
        WFichierMails.close();
    };
}
Tout fonctionne impec à condition d'avoir les droits d'accès en écriture.

Est-ce qu'il existe un moyen de tester les droits d'accès en écriture dans un répertoire ?