Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
689 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Command en batch pour copier -> renommer -> coller un fichier...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Command en batch pour copier -> renommer -> coller un fichier...

n°2231953
mabouilla
Posté le 27-06-2014 à 03:44:13  profilanswer
 

...Et via le menu contextuel !
 
Je viens de perdre deux 10eme de chaque oeil en essayant de comprendre ici et là...
 
Je voudrais une commande batch, exécutable en faisant un clic droit sur n'importe quel fichier, et qui permettrait de :
- copier le fichier exemple Blabla.pdf, qui se trouve dans c:\folder1\folder2\blabla.pdf
- le renommer avec des variables de date, du répertoire d'origine et enfin une variable demandée dans l'exécution du batch "question" : YYYYMM_folder1_question.pdf
 
Nous avons besoin de déposer une copie des fichiers que nous traitons dans un répertoire de travail, pour nous y retrouver ils doivent être nommés avec une nomenclature bien précise YYYYMM_NomClient_Operation.pdf
YYYYMM est généré dynamiquement à partir de la date système
NomClient correspond toujours au répertoire du répertoire hébergeant le fichier à copier
Operation est saisi par l'opérateur effectuant la copie, au moment du lancement du batch.
 
Jusqu'à maintenant, cette opération était faite manuellement.
Cependant nous constatons de nombreuses erreurs de saisie ou un respect approximatif de la convention de nommage.
D'où mon idée de l'exécuter automatique via un batch lancé avec un clic droit de la souris sur un fichier quelconque à renommer.
 
Je précise que le fichier de batch sera stocké ailleurs et que c'est bien le répertoire du fichier source qui doit être pris en compte.
 
Merci d'avance pour votre aide que j'ai hâte de lire pour enfin comprendre comment faire !


Message édité par mabouilla le 27-06-2014 à 03:46:09
mood
Publicité
Posté le 27-06-2014 à 03:44:13  profilanswer
 

n°2231959
billgatesa​nonym
Posté le 27-06-2014 à 09:30:44  profilanswer
 
n°2231963
Soileh
Lurkeur professionnel
Posté le 27-06-2014 à 09:42:53  profilanswer
 


Han, j'ai cru que tu lui répondais sérieusement :o [:cupra]

 

Sinon, voici un petit lien qui explique comment ajouter une entrée dans le menu contextuel de Windows. J'ai testé sous Windows 7 et ça marche ;)

 

Concernant le script batch, je ne sais pas si tu as besoin de plus d'aide :??:

 

Edit : pour être plus précis, ce lien explique aussi comment ajouter le passage d'arguments dans un menu contextuel :jap:


Message édité par Soileh le 27-06-2014 à 09:48:37

---------------
And in the end, the love you take is equal to the love you make
n°2232045
mabouilla
Posté le 27-06-2014 à 16:49:02  profilanswer
 

Ah ouais quand même !
Du puriste de bagnole, de moto, de films d'action j'avais vu... Mais de lunette, ça c'est puissant !!!
 
En fait, là où je cale un peu c'est :
 
- Comment récupérer le nom du répertoire parent du répertoire dans lequel est le fichier cible de la copie.
J'ai trouvé comment récupérer le nom du répertoire dans lequel est le fichier mais pas son père.
 
- Comment créer un nom à partir de différente variables :
nom1=YYYYMM (obtenu avec la variable globale date et les parametres qui vont bien)
nom2=foldername (obtenu je ne sais pas encore comment)
nom3= variable entrée par opérateur.
 
copy blabla.pdf %nom1%%nom2%%nom3%.pdf ne semble pas marcher.
 
En tout cas merci pour le lien qui me sera bien utile !

n°2232076
Soileh
Lurkeur professionnel
Posté le 27-06-2014 à 21:49:11  profilanswer
 

mabouilla a écrit :


- Comment récupérer le nom du répertoire parent du répertoire dans lequel est le fichier cible de la copie.
J'ai trouvé comment récupérer le nom du répertoire dans lequel est le fichier mais pas son père.


Le seul moyen que j'ai trouvé c'est de rajouter \.. à ta variable pour retrouver le répertoire parent de ton répertoire :/
Edit fictif : je pense pas que ça te convienne en voyant comment tu vas l'utiliser :/
 

mabouilla a écrit :


- Comment créer un nom à partir de différente variables :
nom1=YYYYMM (obtenu avec la variable globale date et les parametres qui vont bien)
nom2=foldername (obtenu je ne sais pas encore comment)
nom3= variable entrée par opérateur.
 
copy blabla.pdf %nom1%%nom2%%nom3%.pdf ne semble pas marcher.
 
En tout cas merci pour le lien qui me sera bien utile !


  • Pour nom1 : %date:~6,4%%date:~3,2%
  • Je suis en train de regarder comment obtenir cela  [:-noemie-]  
  • Ce code fonctionne normalement :
Code :
  1. set /p valeur=Saisir une valeur :
  2. echo %valeur%


 
:jap:


---------------
And in the end, the love you take is equal to the love you make
n°2232086
mabouilla
Posté le 28-06-2014 à 04:34:12  profilanswer
 

Merci beaucoup.
Reste à isoler juste le nom d'un repertoire parent à deux ou trois niveau plus haut pour un fichier.
C:\Folder1\Folder2\Folder3\Test.txt
Dans mon cas, il faudrait récupérer une variable "Folder1" sachant que Folder1 n'est pas toujours juste après la lettre du lecteur...
Bref, compliqué, mais je continu à chercher !
 
En tout cas merci beaucoup.

n°2232087
Soileh
Lurkeur professionnel
Posté le 28-06-2014 à 09:29:31  profilanswer
 

mabouilla a écrit :

Merci beaucoup.
Reste à isoler juste le nom d'un repertoire parent à deux ou trois niveau plus haut pour un fichier.
C:\Folder1\Folder2\Folder3\Test.txt
Dans mon cas, il faudrait récupérer une variable "Folder1" sachant que Folder1 n'est pas toujours juste après la lettre du lecteur...
Bref, compliqué, mais je continu à chercher !
 
En tout cas merci beaucoup.


En fait, pour ton nom de répertoire, tu veux récupérer celui qui est rattaché directement à la racine ? Ou celui situé à n'importe quel niveau ?


---------------
And in the end, the love you take is equal to the love you make

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Command en batch pour copier -> renommer -> coller un fichier...

 

Sujets relatifs
extraction contenu fichiers txt sur un fichier Excel[Batch] selection d'une partie de chaine de caractère
PB de lecture fichier comportant des " "[Résolu] Lecture dans un fichier TXT
[RESOLU][PERL] Extraire chaines multiples dans une fichierC/C et fermer un fichier
string dans un fichier netcdffichier xml corrompu balise absente
même fichier .htaccess en prod et developement 
Plus de sujets relatifs à : Command en batch pour copier -> renommer -> coller un fichier...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR