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 :

taille max des arguments en ligne de commande


Sujet :

Langage Perl

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut taille max des arguments en ligne de commande
    bonjour,

    mon problème est que mon programme fonctionne ou non en fonction des paramètres passé en ligne de commande.

    mon programme de fait que déplacer des fichiers.

    texte passé en ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    e:\exploitation\script\PERL\perl.exe e:/exploitation/script/PARTAGE/move.pl e:/exploitation/donnee/reception/DEPENSES/COMPTES e:/exploitation/donnee/chargement/DEPENSES/COMPTES
    cela ne marche pas alors que si je tappe le texte suivant ca fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    e:\exploitation\script\PERL\perl.exe e:/exploitation/script/PARTAGE/move.pl e:/exploitation/donnee/reception/AA e:/exploitation/donnee/chargement/AA
    pour m'affranchir des droits sur les repertoires j'ai retiré la majorité du code du programme en ne gardant que la récupération des paramètres et le problème reste le même.

    mon prog :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    use strict;
    my $path_rep_depos=$ARGV[0];
    my $path_rep_cible=$ARGV[1];
    y a t il une taille max pour les arguments ?

    merci

    claire

  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
    oui, et ça dépend des plateformes. sur VMS c'est 255, solaris : 1024, FreeBSD et Linux un peu plus, Windows, je ne m'en souviens plus

    Tu pourrais peut-être adopter une stratégie d'un répertoire de base par défaut, genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    use constant REP_BASE => 'e:/exploitation.donnee';
    alors tu pourrais appeler le script avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @echo off
    perl e:/exploitation/script/PARTAGE/move.pl reception/DEPENSES/COMPTES chargement/DEPENSES/COMPTES
    (mettre perl.exe dans ton PATH, ou vice versa) et tu normaliserais les chemins des fichiers avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    my $source = shift or die "Pas de fichier source\n";
    my $dest   = shift or die "Pas de fichier destination\n";
     
    $source = BASE_REP . "/$source";
    $dest   = BASE_REP . "/$dest";
    N

  3. #3
    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
    Un autre problème éventuel : est-ce que tous ces répertoires existent préalablement à la commande ? Si ce n'est pas le cas, il faut créer les répertoires avant de transférer le fichier.
    Mais tout cela n'est que supposition si tu ne nous donnes pas le code que tu utilises pour déplacer les fichiers.

    --
    Jedaï

Discussions similaires

  1. [Débutant] Créer un exe avec des arguments de ligne de commande
    Par Gigli dans le forum VB.NET
    Réponses: 1
    Dernier message: 06/02/2012, 10h35
  2. Comment passer des arguments en ligne de commande?
    Par Razgriz dans le forum NetBeans
    Réponses: 1
    Dernier message: 11/04/2007, 12h11
  3. Réponses: 6
    Dernier message: 19/10/2005, 13h10
  4. Réponses: 9
    Dernier message: 29/07/2003, 15h41
  5. Réponses: 3
    Dernier message: 07/04/2003, 21h06

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