Aller au contenu

[Batch]Renommer un fichier avec la date...


black_fett

Messages recommandés

Salut bande d'All Blacks !

Quand on voit ce qu'un pack d'une tonne huit est capable de faire... On se dit qu'il serait bon de sauvegarder ses données.

C'est probablement pour ça que j'ai dû faire ce petit fichier Batch.

A moins que ce ne soit une énième vague de harcèlements maquillés :

« Bordel de pompe à merde ! Tu peux me dire pourquoi cette mule n'a pas sauvegardé ce que je lui avait demandé ?

- Hum ? ... bah, c'est normal : t'as pas copié le bon fichier.

- Gné ? Impossible : j'avais pris tous les fichiers dont l'extension se terminait par DF1 !

- Tous, sauf un... J'y peut rien : t'as merdé man ! »

Ou encore les :

« AHHHH ! MAIS QU'EST-CE QUI S'EST PASSE ??

- (Un autre travailleur) Ah, te voilà ? J'ai dû utiliser ton PC ce matin...

- Et ? Comment expliques-tu qu'il ne démarre plus correctement ?

- Eh bien, c'est à dire qu'il a planté pendant que je chargeait un j... un truc pour un dossier-urgent... et puis... enfin voilà quoi !

- J'imagine que tu peux aussi m'expliquer pourquoi ma tour est « posée » par terre ; lorsqu'hier soir elle était debout sur la table ?

- Ah ? Vraiment ?

- Hrem !

- Euh... non, c'est juste que je me suis un peu énervé... et puis c'est malin aussi : si elle n'avait pas été positionnée aussi près du bord... »

Souvent suivit d'un appel au secours par chez moi :
« Dis, Roger m'a détruit mon PC !

- Encore ?

- Oui, mais cette fois, la tour est en plusieurs morceaux...

- O.o

- ... et puis il ne démarre pas correctement...

- Ah bon ? Vraiment ? Je veux dire, tu as ESSAYE de l'allumer ???

- euh... »

Après réparation :
« Bon... ton disque dur a morflé : il est mort. Tu as tes sauvegardes pour que je te...

- oui, elles sont sur la seconde partitions que tu m'avais faites au cas où...

- Content d'apprendre que tu t'en sois servi. Mais, là : Le disque dur est H.S. ; donc il me faut tes CDs de sauvegardes que tu as dû faire.

- ...

- Alors ?

- En fait, je croyais que le fait de les mettre sur la seconde partition me dispensait de graver des CDs... »

Bref, j'ai décidé de prendre les choses en main de manière plus efficace. Mon crédo : moins ils en font, moins je perds de temps ! :)

Cela passe par ce petit fichier Batch, qui a pour rôle de :

  • vérifier que la clé USB est bien connectée*copier le fichier cabinet.DF1 sur la clé USB*les copies doivent être renommées avec la date du jour

Je l'ai testé sur un PC sous XP et ça a marché nickel !

Par contre, une fois l'avoir copié sur un 2K... ça ne m'a pas donné les mêmes résultats.

Le fichier (sous XP), une fois copié avait ce nom : 2006-11-12.DF1 (ce que je veux, donc)

Sous windows 2000 : 11-12-dim..DF1 (ce qui est idiot, quand même, un petit peu)

Donc, j'imagine qu'il y a un truc qui merde dans la variable... Mais ce genre de subtilité m'échappe (c'est la première fois que je fais un Batch, donc... :oups )

Tenez, je vous mets le script complet... Ainsi, si vous voyez d'autres erreurs, des trucs qu'il ne faut surtout pas faire... etc. :D

@echo off
:menu
cls
echo Veuillez insérer votre clé USB.
echo.
pause
:verif
if exist F:savesnul goto confirm
if not exist F:savesnul goto error
:error
cls
echo Clé USB non détectée...
echo.
echo Veuillez vérifier que celle-ci soit bien connectée à votre ordinateur.
echo Au besoin, essayez de la debrancher puis de la rebrancher...
echo.
choice /c:CQ Pressez C pour continuer, ou Q pour quitter...
if errorlevel = 2 goto fin
if errorlevel = 1 goto verif
:confirm
cls
echo Clé USB détectée...
echo.
choice /c:ON Voulez-vous commencer la sauvegarde ? Oui ou Non ?
if errorlevel = 2 goto fin
if errorlevel = 1 goto sauve
:sauve
cls
echo Sauvegarde en cours...
echo.
[b]for /f "tokens=1-3 delims=/" %%a in ('date/t') do set YYMMDD=%%c-%%b-%%a[/b]
copy "c:logicmaxcabinet.DF1" "f:saveslogicmax%YYMMDD%.DF1"
echo.
echo Veuillez patienter avant la fin de la sauvegarde...
echo.
copy "c:logicmaxcabinet.DF1" "c:logicmax%ZZMMDD%.DF1"
echo Sauvegarde terminée.
echo.
choice /c:Q Pressez la touche Q pour quitter...
if errorlevel = 1 goto fin
:fin

Merci à vous ! :)

Lien à poster
×
×
  • Créer...