Renommer un fichier avec la date du jour - Shell/Batch - Programmation
Marsh Posté le 16-01-2006 à 20:54:38
Tu as la variable
DATE
puis pour extraire les sous-chaînes ou supprimer les caractères non désirés, regarde l'aide de la commande
set
Fais
set /?
à l'invite de commandes pour plus d'infos + les exemples.
Marsh Posté le 17-01-2006 à 11:45:31
J'ai éditer l'aide de 'set' et n'arrive pas pour autant à associer la date du jour à ce fichier
Merci de ton aide
Marsh Posté le 17-01-2006 à 13:19:42
Tu peux poster ton script actuel ?
Sinon, une petite recherche sur ce forum même, c'est une question qu'on rencontre tous les trois jours
Marsh Posté le 17-01-2006 à 14:22:58
Tout ce qu'il y a de plus simple
copy W:\peri_op\exp_adm\log\trf_crss_SDL7.log S:\CRSS_LOG\trans_sdl.txt
et je voudrais associer la date du jour au fichier "trans_sdl.txt", c'est une opération que j'ai a réaliser hebdomadairement, je n'ai pas été plus loin. Je n'ai pas trouvé de réponse sur le forum, je suis "très" novice en la matière, soit indulgent
Merci de ton aide
Marsh Posté le 17-01-2006 à 15:27:22
Alors, pour récupérer la date du jour, tu as la variable
DATE
et comme je disais, si tu faisais :
set /?
tu verras que :
set VAR1=%VAR:~x,y%
extrait y caractères à partir de la position x, les caractères étant indexés à partir de 0.
Juste fais un :
set JJ=%DATE:~0,2%
echo %JJ%
par exemple pour comprendre.
Je suppose que tu sais comment concaténer les variables :
set VAR=%VAR1%%VAR2%
Voilà, essaie et dis si ça t'aide à avancer. Pas de souci pour procéder ensemble étape par étape
Marsh Posté le 17-01-2006 à 15:41:20
[Re merci de ton aide, ça m'aide (bien que je ne sois pas au bout de mes peines ... lol)
J'ai ajouté ce qui suit :
set jour=%DATE:~0,2%
set mois=%DATE:~3,2%
set annee=%DATE:~6,4%
set madate=%annee%-%mois%-%jour%
echo %madate% avant la commande de copy ...
et inséré %madate% dans le nom du ficher
j'ai toujours un message d'erreur "paramètre non valide"
Marsh Posté le 17-01-2006 à 15:41:20
Dans le meme style :
SET MYVAR=%DATE=_% (remplace la date 15/01/2006 par 15_01_2006) ou alors %DATE=% ca donne 15012006
copy myfile.txt %MYVAR%.txt
ca devrait coller
Marsh Posté le 17-01-2006 à 15:43:55
Desole , je desactive les smileys
SET MYVAR=%DATE:/=_% donne la date en format 15_01_2006 ou alors %DATE:/=% donne 15012006
ensuite
copy myfile.txt %MYVAR%.txt
le tour est joue .. Attention au format date donne par %DATE%, a regler eventuellement dans les Regional Settings
Marsh Posté le 17-01-2006 à 15:46:40
Le remplacement de caractères est aussi une direction, mais moins générique que l'extraction des sous-chaînes, des fois (est-ce ça arrive ? je ne m'en souviens plus ) que le séparateur n'est pas le /.
Comment tu colles le truc au nom de ton fichier ? Poste ton nouveau script.
Marsh Posté le 17-01-2006 à 15:52:24
Pas de soucis, je l'avais compris "sans smiley"
Merci quand même
Marsh Posté le 17-01-2006 à 15:54:40
Voici mon script :
set jour=%DATE:~0,2%
set mois=%DATE:~3,2%
set annee=%DATE:~6,4%
set madate=%annee%%mois%%jour%
echo %madate%
copy W:\peri_op\exp_adm\log\trf_crss_SDL7.log S:\CRSS_LOG\trans_sdl%madate%.txt
manque qque chose certainement, mais je suis loin d'être une spécialiste ... ce n'est qu'un rêve
Marsh Posté le 17-01-2006 à 16:09:59
YESSSSSSSSSS !! et merci beaucoup (je l'ai allègé)
voici le script qui à l'air de fonctionner :
set myvar=%DATE:/=%
copy W:\[nom_du_répertoire]\....\[nom_du_fichier].log S:\[nom_du_répertoire]\[nom_du_fichier]%myvar%.txt
Merci de votre aide, j'y serais pas arrivée seule
Big kisssssss
Marsh Posté le 17-01-2006 à 16:12:25
Euh je n'y vois pas d'erreur
Mais là je suis sous Linux, pas de Windows sous la main.
Peux-tu enlever/commenter la ligne
@echo off
au début de ton script, si elle y est, pour voir à quelle ligne l'erreur
Paramètre non valide
se produit ?
Edit : OK. Je vois que tu as opté pour l'autre méthode
@+
Marsh Posté le 17-01-2006 à 16:44:07
Merci de ton aide
ça fonctionne bien avec le script inscrit plus haut
Marsh Posté le 16-01-2006 à 17:15:32
J'ai créé un fichier .bat qui copie et renomme un autre fichier, mais je voudrais associer à ce nom de fichier la date du jour d'execution, et ce périodiquement afin de conserver une trace hebdomadaire.
Peut-on m'aider SVP??
Message édité par Lau_18 le 17-01-2006 à 16:43:17