FORUM Tom's Hardware » Programmation » Autre » Résolu - Un grand Merci - Commande Dos pour renomer fichiers
 

Résolu - Un grand Merci - Commande Dos pour renomer fichiers

Il y a 450 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Résolu - Un grand Merci - Commande Dos pour renomer fichiers
 
Plus d'informations

:bounce:

Bonjour à tous,
Je cherche à faire une chose très simple en commande dos, dans un batch mais je suis nulle en ligne de code.

Je voudrais, dans un répertoire "Bachup" existant copier deux fichiers excel mais en les renomant systématiquement avec la date du jour.

voici la ligne de commande pour la copie, pas de souci, ça marche mais je n'arrive pas à demander de les renomer en incluant la date pour le différentiel du nom et par la même, créer une archive.

@echo off
xcopy *.xls \\srvpardfs2\DFSRoot\OPER-CME-LOG\_Private\Immobilier\SituImmo\Backup\*.xls /Y /I /R

Pause

Ps : Je ne peux pas utiliser les programme tel que Tagguer ou autres !!!

Merci pour votre aide, je pête un câble !!!! :pt1cable:


Message édité par Ashruna le 31-07-2007 à 17:02:33

www.idpz.net/enclume/hd/t.fr
Plus d'informations


C'est des commandes dos pas du code :hello:

Copy plutot le repertoire en entier pour renomer c'est plus simple

REN REP1 REP2(ou RENAME)

XCOPY REP2\\srvpardfs2\DFSRoot\OPER-CME-LOG\_Private\Immobilier\SituImmo\Backup\REP2/Y /I /R
:bounce:

la date sera dans les proprietées du repertoire comme pour tous les repertoires ou alors un fichier texte avec

type %date% %time% > historique.txt

voila un exemple :bounce:


---------------
Ne jamais cliqué la! www.idpz.net/enclume/harward/letop.com




Plus d'informations

Heu, oups, je suis même nulle dans les nom entre commande Dos et Code....

Merci beaucoup, tes cdes Dos fonctionnent mais il y a un hic, je souhaiterais que le nom du fichier change et qu'il soit dans le même rep Backup.

Exemple :
Backup/fichier310707
Backup/fichier010807

etc etc.... j'ai essayer d'incrémenter la variable %date% après ma ligne de cde (xcopy *.xls \\srvpardfs2\DFSRoot\OPER-CME-LOG\_Private\Immobilier\SituImmo\Backup\*.xls %date% /Y /I /R) mais ça ne marche pas, il me dit que c'est invalide.

Tu vois, je suis sûre que c'est rien mais pour moi là, ça comment à l'être....

zeb
Profil : Modérateur libre
Plus d'informations

Grosbourge> Donne des exemples qui fonctionnent.

 

Eh, les rois du bounce, les lignes de commande entre les balises [fixed][/fixed] s'il vout plaît :o

Message cité 2 fois
Message édité par zeb le 31-07-2007 à 15:45:22

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
zeb
Profil : Modérateur libre
Plus d'informations

Regarde ça Ashruna :

ECHO %DATE%
ECHO %DATE:~6,4%
ECHO %DATE:~3,2%
ECHO %DATE:~0,2%

 

FOR %%I IN (*.XLS) DO @ECHO %%~fI %%~nI %%~xI

 

Allez, on mélange tout :

FOR %%I IN (*.XLS) DO @ECHO %%~fnI-%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%%%~xI


Message édité par zeb le 31-07-2007 à 15:45:36

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

Ho la la, c'ets du chinois pour moi mais je vais aller le tester de suite et reviens pour soit vous attester que je suis définitivement une blonde bulbienne ou pour vous dire que ça marche....

lol

zeb
Profil : Modérateur libre
Plus d'informations

C'est peut-être du chinois, mais je t'ai fait la méthode à mimile progressive.

Pour les boucles FOR en DOS, sur une ligne de commande, il faut écrire

FOR %I IN (*.XLS) DO truc %I

Mais dans un fichier BAT ou CMD, il faut écrire

FOR %%I IN (*.XLS) DO truc %%I

C'est laid, oui je sais :sarcastic:


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

Bon alors, je reviens pour vous dire que je suis une plaie et pire que la glue car je ne vois pas de changement apparant dans le nom de mes fichiers et la date n'apparait pas !!!! MAlgré la ligne de code

@echo off

For %%I in (*.xls) do @echo %%~fnI-%date:~6,4 %%Date:~3,2 %%Date:~0,2 %%~xI
xcopy *.xls \\srvpardfs2\DFSRoot\OPER-CME-LOG\_Private\Immobilier\SituImmo\Backup\*.xls /Y /I /R

Pause

Cherhcer l'erreur !!!

spider pig, spider pig...
Plus d'informations

Mais non, tu n'es pas une plaie...

En fait, zeb t'a donné tout ce qu'il faut pour résoudre ton problème. Simplement, il s'agit d'un exemple d'utilisation: tu dois l'adapter à ton cas de figure.

Pour faire ce que tu désires, il suffit de mettre la ligne suivante dans ton fichier .bat:

FOR %%I IN (*.XLS) DO COPY %%I "\\srvpardfs2\DFSRoot\OPER-CME-LOG\_Private\Immobilier\SituImmo\Backup\%%~nI%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%%%~xI%"



et tous les fichiers .xls du répertoire de lancement seront copiés avec la date dans ton répertoire de sauvegarde.

voilà, voilà...


Message édité par Storos le 31-07-2007 à 16:56:47
Plus d'informations

Meeeeeeerci à Zeb et Storos de m'avoir éclairé et de ne pas m'avoir pris pour un boulet..... C'est génial, ça fait tellement longtemps que je cherche !!!!
alors ça marche pour que pour un seul fichier malgré le Joker *.xls, peut-être qu'il faudrait que je rajoute un truc pour que le deuxième fichier soit pris en compte !!!!!

spider pig, spider pig...
Plus d'informations

Comment ça pour un seul fichier?

C'est bizarre... chez moi, ça fonctionne pour tous les fichiers de même extension du répertoire...

T'as quoi exactement dans ton .bat?

Plus d'informations

Heuuuu, oups !!!

@echo off

FOR %%I IN (*.XLS) DO COPY %%I

"\\srvpardfs2\DFSRoot\OPER-CME-LOG\_Private\Immobilier\SituImmo\Backup\%%~nI%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%%%~xI

%"

Pause

A savoir que le nom du deuxième fichier comporte un espace et à un nom alfanumérique... C'est sa seule spé.

zeb
Profil : Modérateur libre
Plus d'informations

a écrit :

Eh, les rois du bounce, les lignes de commande entre les balises [fixed][/fixed] s'il vout plaît :o



Moderator dixit :
Merci de respecter les règles de publication de ce site s'il vous plaît.
Je n'aime pas à avoir à me répéter [:zeb]


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
spider pig, spider pig...
Plus d'informations

L'espace doit perturber la ligne de commande...

Essaye ça:

FOR %%I IN (*.XLS) DO COPY "%%I" "\\srvpardfs2\DFSRoot\OPER-CME-LOG\_Private\Immobilier\SituImmo\Backup\%%~nI%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%%%~xI%"



C'est la même chose mais en mettant le premier %%I entre guillemets... ;)

Plus d'informations

C'est terrible, ça marche nickel
Je te remercie encore énormément de ta patience et de ta solution...
Je crois que je ne pourrais jamais te rendre la pareille et je le regrette.
Désolée de ne pas avoir respectée les codes d'usages.
Merci encore énormément, je m'en vais mettre en place ma proc...
Chris

www.idpz.net/enclume/hd/t.fr
Plus d'informations

a écrit :

L'espace doit perturber la ligne de commande...

Essaye ça:

FOR %%I IN (*.XLS) DO COPY "%%I" "\\srvpardfs2\DFSRoot\OPER-CME-LOG\_Private\Immobilier\SituImmo\Backup\%%~nI%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%%%~xI%"



C'est la même chose mais en mettant le premier %%I entre guillemets... ;)



:) j'ai essayé sa marche bien mais je n'ai pas mis de guillemet

FOR %%I IN (*.XLS) DO COPY "%%I" "C:\Backup\%%~nI%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%%%~xI%"


---------------
Ne jamais cliqué la! www.idpz.net/enclume/harward/letop.com




zeb
Profil : Modérateur libre
Plus d'informations

a écrit :

Grosbourge> Donne des exemples qui fonctionnent.

Eh, les rois du bounce, les lignes de commande entre les balises [fixed][/fixed] s'il vout plaît :o



a écrit :

Moderator dixit :
Merci de respecter les règles de publication de ce site s'il vous plaît.
Je n'aime pas à avoir à me répéter [:zeb]



2 fois ! [:zeb]
Grosbourge gagne 2 jours de TT


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » Autre » Résolu - Un grand Merci - Commande Dos pour renomer fichiers
 

Annonces Google
Publicité