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

Langage Perl Discussion :

pb opendir sur repertoire sur serveur distant


Sujet :

Langage Perl

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 1
    Points
    1
    Par défaut pb opendir sur repertoire sur serveur distant
    Bonjour,

    Je souhaite faire un opendir sur un repertoire qui se trouve sur un serveur distant.
    je declare une variable du genre $Rep="\\\\toto\\titi" ou \\toto est le nom de mon serveur distant et titi le repertoire
    cela ne fonctionne pas, la syntaxe n'est elle pas correcte
    Qq pourrait il m'aider svp!
    merci d'avance

  2. #2
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #! perl -w
     
    use strict;
     
    opendir( D, '//distant/share' ) or die "$!\n";
    while( defined( my $entree = readdir D )) {
        print "$entree\n";
    }
    closedir D;
    Ça marche pour moi. Tu es sûr que le compte as les privilèges requis ?

    N

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 1
    Points
    1
    Par défaut pb acces repertoire serveur distant
    A force de tests et différents essais, j'ai obtenu qq infos supplémentaires
    le folder que je veux ouvrir depuis perl est un folder partagé sur un autre serveur.
    mon script fonctionne lorsque je spécifie le chemin complet du genre \\nomserveur\d$\titi\toto.txt
    je suis obligé de spécifier le d$ (partition par défaut de windows)
    par contre si je mets le chemin en mettant le nom de mon share (\\monserveur\tata) (équivalent à \\nomserveur\d$\titi\toto.txt) ça ne marche pas et c'est très embetant
    apparemment il y aurait un pb avec cmd.exe qui me dit que UNC path is not supported

    Une idée pour m'aider??

    merci d'avance

  4. #4
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut Re: pb acces repertoire serveur distant
    Citation Envoyé par nanou40
    Une idée pour m'aider??
    Le message d'erreur exacte ?

    N

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    '<UNC path>' is an invalid current directory path. UNC paths are not supported.
    Defaulting to Windows directory.

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    en fait pour résumer, mon script fonctionne lorsque je spécifie le chemin complet du repertoire
    ce repertoir est un repertoire partagé
    le script ne fonctionne pas lorsque j'utilise directement le nom de mon share folder ( par contre les deux types d'accès fonctionne avec windows explorer)

  7. #7
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par nanou40
    le script ne fonctionne pas lorsque j'utilise directement le nom de mon share folder ( par contre les deux types d'accès fonctionne avec windows explorer)
    Ben... qu'est-ce que tu veux que je te dise ? Ça marche pour moi avec un test comme plus haut. Perl (enfin, Activestate Perl) sait comment gérer les chemins UNC. De ça, j'en suis sûr, car j'ai du code en production qui s'en sert.

    Tu es sûr que ce n'est pas une question de compte admin ou compte sans privilèges suffisants ? Essaies un "runas" administrateur pour voir

    N

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    Je suis sure que ce n'est pas un pb de compte admin.
    Par contre , quelle est la différence entre perl et active state (il faut m'excuser mais je débarque dans le milieu de perl)
    le serveur sur lequel tourne perl est un serveur win2000 .
    Ton scripte ne fonctionne pas car le use script donne une erreur , une histoire de package.

    j'ai peut etre un pb avec la version de perl (pour win 32) installé sur le serveur. il me semble que c'est la version 5.107 .
    faut il que je réinstalle PERL?
    j'avoue etre un peu perdue
    merci

  9. #9
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par nanou40
    Je suis sure que ce n'est pas un pb de compte admin.
    Par contre , quelle est la différence entre perl et active state (il faut m'excuser mais je débarque dans le milieu de perl)
    pas de souci.

    Citation Envoyé par nanou40
    le serveur sur lequel tourne perl est un serveur win2000 .
    Ton scripte ne fonctionne pas car le use script donne une erreur , une histoire de package.
    Quoi, il tousse sur le 'use strict' ? Ton perl doit être très, très vieux.

    Citation Envoyé par nanou40
    j'ai peut etre un pb avec la version de perl (pour win 32) installé sur le serveur. il me semble que c'est la version 5.107.
    Je ne vois pas exactement ce que cela pourrait être. Peux-tu lancer 'perl -V' (grand V) et coller le résultat ici ?

    Citation Envoyé par nanou40
    jfaut il que je réinstalle PERL?
    j'avoue etre un peu perdue
    merci
    Possible. Mais on te mettras sur le bon chemin :)

    N

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    voiçi le resultat du perl-v

    This is perl, version 5.001

    Unofficial patchlevel 1m.

    Copyright 1987-1994, Larry Wall
    Win32 port Copyright (c) 1995 Microsoft Corporation. All rights reserved.
    Developed by hip communications inc., http://info.hip.com/info/

    Perl for Win32 Build 107
    Built Apr 29 1996@22:56:57
    Perl may be copied only under the terms of either the Artistic License or the
    GNU General Public License, which may be found in the Perl 5.0 source kit.


    faut il que j'installe une nouvelle version?
    J'apprécie vraiment votre aide, car pour l'instant c'est vraiment perl "arbor"

  11. #11
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par nanou40
    voiçi le resultat du perl-v

    This is perl, version 5.001

    Unofficial patchlevel 1m.

    faut il que j'installe une nouvelle version?
    J'apprécie vraiment votre aide, car pour l'instant c'est vraiment perl "arbor"
    Aaaah, ouuaaaaaaaaiiiiiis :) Tu as gagné le prix du "plus vieille installation de Perl en production" de l'année. Tu version a été publié en 1994 ! C'est de l'archéologie !

    Je te conseilles d'installer la dernière version de Perl (tu as 5.001m, nous sommes à 5.8.7 aujourd'hui) ici :

    http://www.activestate.com/store/lan...?id=ActivePerl

    Tu peux cliquer sur next, ou remplir le formulaire, c'est pas vital.

    Bon courage, et bienvenue au 21ème siècle :)

    N

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    désolée, j'ai l'air un peu ridicule!
    je vais essayer d'installer la derniere version de perl de ce pas
    j'espere que tout fonctionnera après ça
    je te tiens au courant
    encore merci

  13. #13
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par nanou40
    désolée, j'ai l'air un peu ridicule!
    mais pas du tout. tu n'y es pour rien dans l'histoire.

    Citation Envoyé par nanou40
    je vais essayer d'installer la derniere version de perl de ce pas
    j'espere que tout fonctionnera après ça
    je te tiens au courant
    encore merci
    Oui, tu verras, il y a eu, heuh, plusieurs améliorations apportées à Perl depuis ce temps. Mon exemple au début de ce thread risque de marcher pile-poil après.

    N

  14. #14
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    décidement j'insiste!
    je ne dois pas faire ce qu'il faut, car une fois perl installé je lance le script ci dessous

    #! perl -w
    use strict;

    opendir( D, "\\\\serveur\\share") ;
    while( defined( my $entree = readdir D )) {
    print "$entree\n";
    }
    closedir D;

    et il me met plusieurs lignes de msg d'erreur qui ressemblent à celle ci

    backslash foudn where operator expected near "rtf1\"

    Que dois je faire?
    nb: j'ai installé la nouvelle version de perl sur un pc ou perl n'a jamais été installé

    crois tu que mon cas soit désespéré?

  15. #15
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par nanou40
    décidement j'insiste!
    pas de souci. On a tous été débutants un jour.

    Essaies ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #! perl -w 
    use strict; 
     
    opendir( D, "\\\\serveur\\share") or die "err opendir: $!\n"; 
    while( defined( my $entree = readdir D )) { 
    print "$entree\n"; 
    } 
    closedir D;
    Citation Envoyé par nanou40
    et il me met plusieurs lignes de msg d'erreur qui ressemblent à celle ci

    backslash foudn where operator expected near "rtf1\"

    Que dois je faire?
    Pour commencer, ne pas poster des trucs qui ressemblent à des messages d'erreur, mais coller les messages exactes. Ça peut aider.

    Citation Envoyé par nanou40
    crois tu que mon cas soit désespéré?
    pas encore

    N

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    ok je vais essayer
    juste une question, j'ai installé perl dans c:
    est ce que la premiere ligne de ton script est tjs valable

  17. #17
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 1
    Points
    1
    Par défaut
    ca ne marche pas voila les msg,

    Backslash found where operator expected at test.pl line 1, near "rtf1\"
    Backslash found where operator expected at test.pl line 1, near "ansi\"
    Backslash found where operator expected at test.pl line 1, near "ansicpg1252\"
    Backslash found where operator expected at test.pl line 1, near "deff0\"
    Backslash found where operator expected at test.pl line 1, near "f0\"
    Backslash found where operator expected at test.pl line 1, near "froman\"
    Backslash found where operator expected at test.pl line 1, near "f1\"
    Backslash found where operator expected at test.pl line 1, near "fnil\"
    syntax error at test.pl line 1, near "rtf1\"
    syntax error at test.pl line 1, near "f1\"
    syntax error at test.pl line 1, near "}}"
    Execution of test.pl aborted due to compilation errors.

    il doit me manquer qq chose au niveau de l'install!

  18. #18
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par nanou40
    ca ne marche pas voila les msg,
    ...
    syntax error at test.pl line 1, near "}}"
    Execution of test.pl aborted due to compilation errors.

    il doit me manquer qq chose au niveau de l'install!
    C'est étrange que tous les messages parle de la ligne 1, et qu'il parle de "}}" à la fin, puisqu'il n'y a pas cette sequence dans le code que j'ai posté. Tu es sûre que tu n'es pas en train de tourner un autre script?

    N

  19. #19
    Membre actif
    Inscrit en
    Février 2005
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 167
    Points : 203
    Points
    203
    Par défaut
    Autre chose, au lieu de se prendre la tête à écrire \\\\serveur\\share, on peut très bien écrire //serveur/share. Ça fait moins mal aux yeux. Et peut-être tu as un nombre impaire de \, ce qui ne vas pas arranger les choses.

    N

  20. #20
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Il me semble à moi que toutes ces séquences contre lesquelles Perl proteste ressemble beaucoup à des séquences d'échappement permettant de rajouter de la couleur et autres dans la console... Comment tapes-tu ton code ? Je te recommande SciTE (dont voici un excellent installateur pour Windows) pour commencer, c'est un excellent éditeur, simple à utiliser et à configurer, et pourtant très puissant.

    --
    Jedaï

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/05/2012, 10h22
  2. Réponses: 1
    Dernier message: 26/04/2011, 14h36
  3. [HTML] ouvrir un repertoire sur un serveur distant
    Par boubourse92 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 09/04/2008, 17h52
  4. Déléguer sa boite mail à 1 user sur un site/serveur distant ?
    Par hélios44 dans le forum Exchange Server
    Réponses: 1
    Dernier message: 22/11/2007, 13h56
  5. Réponses: 3
    Dernier message: 23/01/2006, 15h40

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