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

Programmation et administration système Perl Discussion :

Renommer un fichier


Sujet :

Programmation et administration système Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Par défaut Renommer un fichier
    Salut,

    je cherche à renommer un fichier.

    Par exemple de test je veux passe à test_06110814:03:33

    Sous linux en faisant cela sur la console en direct je fais mv test test_`date +%d%m%y%T` j'obtiens mon résultat.

    J'essais de le faire dans Perl avec la même commande, en mettant la commande dans une variable et en mettant des \ devant les % avec des guillements j'obtients toujours le même message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Backticks found where operator expected at ./renom line 4, near "test_`date +"\%d\%m\%y\%T"`"
    syntax error at ./renom line 4, near "test_`date +"\%d\%m\%y\%T"`"
    Execution of ./renom aborted due to compilation errors.
    Une idée pour solutionner mon petit souci.

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    quel est ton code exact?

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Par défaut
    voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       #! /usr/bin/perl
     
     
       my $essai = mv test test_`date +"\%d\%m\%y\%T"`;
       printf $essai;
    j'ai essayé le code sans le "\%....." et cela ne fonctionne pas non plus.

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rename ( "test", "test_".`date +%d%m%y%T`);

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 239
    Par défaut
    C'est exactement ce qu'il me faut. Merci

  6. #6
    Expert confirmé
    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
    Par défaut
    Attention, ce code ne fonctionne pas à travers les frontières des systèmes de fichiers, rename() est une primitive qui utilise directement l'appel système correspondant, en tant que tel, je ne recommanderais pas son utilisation dans le cas général (s'il s'agit simplement de renommer un fichier en restant dans le même dossier par exemple, c'est ok).

    L'équivalent strict de mv est la fonction move() du module File::Copy (module distribué en standardd avec Perl depuis la 5.2, n'hésitez donc pas à l'utiliser) qui essaiera rename() puis fera une copie et suppression de l'original si rename() échoue.

    --
    Jedaï

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

Discussions similaires

  1. Renommer un fichier a la date du jour
    Par mandrack dans le forum Linux
    Réponses: 3
    Dernier message: 15/12/2008, 10h18
  2. [LG]programme qui renomme des fichiers
    Par Ne0taku dans le forum Langage
    Réponses: 9
    Dernier message: 16/02/2005, 21h18
  3. renommer un fichier uploadé
    Par Sowa dans le forum ASP
    Réponses: 2
    Dernier message: 07/02/2005, 09h23
  4. Renommer un fichier avec SmartUpload
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 21/12/2004, 15h53
  5. [] [Réseau] Renommer des fichiers dans un site FTP
    Par JerBi dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/08/2003, 00h35

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