Invite de commandes : nom de fichier avec la date [Résolu]

Le coin des administrateurs et des développeurs. Astuces techniques, ...
Répondre
cyrille
Messages : 21
Enregistré le : ven. 3 mai 2013 11:03
Etes vous un robot ? : Non

Invite de commandes : nom de fichier avec la date [Résolu]

Message par cyrille »

Bonjour,

J'ai la commande xcopy suivante dans un fichier batch :
xcopy "C:\Program Files (x86)\Collectorz.com\Movie Collector\*.*" "D:\DOSSIERS\DOSSIERS par DEFAULT ET SAUV\SAUV\COLLECTORZ\DONNES 2015" /Y /M /D>rapport_du_%DATE%.txt"

Comment faire pour que la date s'ajoute à la phrase" rapport du" à la fin de la commande pour sortir un rapport sous le nom Rapport du 24/05/2016 par ex. (date d'aujourd'hui) ?

J'ai essayé en mettant cette commande avant la commande xcopy :
set rapport=Rapport du %date%
J'obtiens bien Rapport du 24/05/2016.

Mais si j'écris rapport.txt ou %rapport%.txt après le caractère de redirection, j'obtiens n'importe quoi.

Si quelqu'un pouvait me donner l'astuce ... Merci d'avance pour le coup de main.

Cyrille
PatriciaG
Messages : 2983
Enregistré le : jeu. 11 nov. 2010 17:11
Etes vous un robot ? : Non
Localisation : Port-sur-Saône / Haute-Saône / France
Contact :

Re: Invite de commandes : nom de fichier avec la date

Message par PatriciaG »

Bonjour,
Je pense que ton problème vient du caractère slash qui figure dans la date.
Il faut que tu enlèves ces barres obliques du nom de fichier, sinon ton batch cherche à créer un dossier.

Pour récupérer JJMMAAAA, cela va donner quelque chose comme :

set d=%date:~0,2%%date:~3,2%%date:~6,4%
xcopy "C:\Program Files (x86)\Collectorz.com\Movie Collector\*.*" "D:\DOSSIERS\DOSSIERS par DEFAULT ET SAUV\SAUV\COLLECTORZ\DONNES 2015" /Y /M /D>rapport_du_%d%.txt"

@+
Modifié en dernier par PatriciaG le mer. 25 mai 2016 00:15, modifié 1 fois.
Alain Quarré
Messages : 965
Enregistré le : mer. 20 janv. 2010 23:41
Etes vous un robot ? : Non

Re: Invite de commandes : nom de fichier avec la date

Message par Alain Quarré »

Bien Patricia!
La manipulation de variable en batch est peu connue, à moi de te dire que j'apprécie ce genre de réponse.

Permet moi d'y apporter quelque suppléments.

Pour utiliser la date dans le nom de fichier, j'utiliserais la méthode donnée par Patricia, mais en remettant la date dans l'ordre logique.
J'explique.
Si tu as une date au format JJMMAAAA, le classement des fichier ne sera pas correct. (tu auras tous les fichier du premier du mois, ensuite ceux du deuxième jour du mois, et ainsi de suite)

L'ordre logique doit être AAAAMMJJ
Cela permettra un affichage correct quand tu classera les fichiers selon leur nom.
Reprenons donc ce que Chantal nous donnait comme solution, mais dans le sens AAAAMMJJ
cela nous donne

Code : Tout sélectionner

set d=%date:~6,4%%date:~3,2%%date:~0,2%
Perso, j'y ajoute des tirets, pour une facilité de lecture:

Code : Tout sélectionner

set d=%date:~6,4%-%date:~3,2%-%date:~0,2%
et ensuite, ton rapport:

Code : Tout sélectionner

xcopy "C:\Program Files (x86)\Collectorz.com\Movie Collector\*.*" "D:\DOSSIERS\DOSSIERS par DEFAULT ET SAUV\SAUV\COLLECTORZ\DONNES 2015" /Y /M /D>rapport_du_%d%.txt"
Voilà, tu as de quoi faire.


Au fait, Cyrille, c'est féminin?
Modifié en dernier par Alain Quarré le mer. 25 mai 2016 00:26, modifié 1 fois.
Déplacer les dossiers utilisateur topic4073.html topic5883.html
Déplacer le dossier Public topic4396.html
PAS DE RÉPONSE TECHNIQUE PAR MP
PatriciaG
Messages : 2983
Enregistré le : jeu. 11 nov. 2010 17:11
Etes vous un robot ? : Non
Localisation : Port-sur-Saône / Haute-Saône / France
Contact :

Re: Invite de commandes : nom de fichier avec la date

Message par PatriciaG »

Bonjour Alain,
Merci pour tes compliments. :)

Je suis une vieille informaticienne, tu sais.
J'ai connu la programmation en langage machine et les cartes perforées, dans ma jeunesse. :mrgreen:

Mais je me suis éloignée de ce genre de programmation.

Tu évoques la méthode donnée par Chantal, mais les indications que j'ai fournies à Cyrille ne proviennent pas de Chantal, sinon, je l'aurais citée, par courtoisie.
Ce sont simplement des choses que j'ai apprises dans mes études informatiques.

Pour en revenir au sujet qui nous intéresse, bien entendu, l'ordre logique dot être AAAAMMJJ pour faciliter l'exploitation des fichiers.

Je n'ai pas précisé ce point, car je me suis contentée de répondre à la demande spécifique de Cyrille.
Je me suis placée dans le cadre de fichiers ponctuels et non destinés à un archivage.

Mais tu as raison d'en profiter pour apporter ces éléments complémentaires fort utiles et je t'en remercie. ;)

@+
Alain Quarré
Messages : 965
Enregistré le : mer. 20 janv. 2010 23:41
Etes vous un robot ? : Non

Re: Invite de commandes : nom de fichier avec la date

Message par Alain Quarré »

PatriciaG a écrit : Tu évoques la méthode donnée par Chantal
Faute de frappe, c'est Patricia qu'il faut lire. (suis pas tout jeune non plus)
Déplacer les dossiers utilisateur topic4073.html topic5883.html
Déplacer le dossier Public topic4396.html
PAS DE RÉPONSE TECHNIQUE PAR MP
PatriciaG
Messages : 2983
Enregistré le : jeu. 11 nov. 2010 17:11
Etes vous un robot ? : Non
Localisation : Port-sur-Saône / Haute-Saône / France
Contact :

Re: Invite de commandes : nom de fichier avec la date

Message par PatriciaG »

Alain Quarré a écrit :
PatriciaG a écrit : Tu évoques la méthode donnée par Chantal
Faute de frappe, c'est Patricia qu'il faut lire. (suis pas tout jeune non plus)
Tu es tout excusé, Alain, et tes explications sont précieuses. :)

@+
cyrille
Messages : 21
Enregistré le : ven. 3 mai 2013 11:03
Etes vous un robot ? : Non

Re: Invite de commandes : nom de fichier avec la date

Message par cyrille »

Pour Alain quarré : Cyrille, c'est du masculin à une époque ou il n'existait qu'au masculin.
Hé oui, il parait qu'on est senior maintenant ! :lol:
Je n'étais pas informaticien à l'époque du DOS, mais je "bidouillait" la programmation par plaisir et j'ai découvert le DOS sous Amstrad CPC6128. D'ailleurs le DOS portait un nom légèrement différent (CP/M) à cette époque si ma mémoire est bonne. Je ne suis même pa sûr qu'à cette époque on pouvait faire du batch dessus.

Bref, j'ai suivi vos conseils Patricia et Alain. Tout fonctionne à merveille. Le nom du rapport sort bien sous la forme Rapport du 25-05-2016. :super:
je ne crois pas que j'y serais arrivé sans vous. J'ai portant vu pas mal de sîtes mais il manquait toujours le slash.

Question : Alain, tu parles d'inverser le contenu de la date :
jj-mm-aa par aa-mm-jj

pour pouvoir faire du tri par exemple.

Mais je ne comprend pas car si je fais un dir dans l'invite de commande, les dates des fichiers s'affichent sous la forme jj-mm-aa, idem sous l'explorer Windows. Tu peux m'expliquer ?
PatriciaG
Messages : 2983
Enregistré le : jeu. 11 nov. 2010 17:11
Etes vous un robot ? : Non
Localisation : Port-sur-Saône / Haute-Saône / France
Contact :

Re: Invite de commandes : nom de fichier avec la date

Message par PatriciaG »

Bonjour,
Tant mieux si nous avons pu résoudre ton problème, Alain et moi.

Bien que ta question s'adresse à Alain, je me permets de te répondre, d'autant que j'ai participé au fil de discussion, dans lequel j'ai même fourni la première réponse. ;)

Effectivement, l'inversion du contenu de la date permet de trier les fichiers par ordre chronologique, AAAAMMJJ.

L'affichage des dates est effectué sous la forme usuelle de lecture, pour le confort de l'utilisateur, mais cela n'empêche pas que les dates sont gérées logiquement, dans tout le système Windows, commandes DOS et explorateur de fichiers inclus.
Ainsi, par exemple, 21-12-2015 < 01-01-2016, selon l'ordre (chrono)logique.

@+
cyrille
Messages : 21
Enregistré le : ven. 3 mai 2013 11:03
Etes vous un robot ? : Non

Re: Invite de commandes : nom de fichier avec la date [Réslu]

Message par cyrille »

J'ai compris.

J'ai confondu la date de création ou de modification d'un fichier
avec l'affichage des noms de fichiers avec dates inclus.

Merci

PS : j'ai un autre post intitulé Planification ... Configurer pour si vous voulez
PatriciaG
Messages : 2983
Enregistré le : jeu. 11 nov. 2010 17:11
Etes vous un robot ? : Non
Localisation : Port-sur-Saône / Haute-Saône / France
Contact :

Re: Invite de commandes : nom de fichier avec la date [Résolu]

Message par PatriciaG »

Bonsoir,
De rien. ;)

Tout est donc clair pour toi sur ce point.

J'ai vu que tu as posté deux autres sujets et Alain Quarré t'a répondu.

Je te remercie d'avoir pensé à clôturer ce topic.
N'oublie pas de faire la même chose pour les autres, comme celui-ci topic17338.html

@+
Répondre