Ecrire batch ....sous xp

Fermé
erico258 Messages postés 4 Date d'inscription mardi 18 novembre 2003 Statut Membre Dernière intervention 26 janvier 2005 - 24 juin 2004 à 10:51
djest_02 Messages postés 4 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 22 février 2007 - 17 févr. 2007 à 13:29
bonjour a tous
qui connait la syntaxe sous xp pour ecrire un batch afin de creer
un dossier de facon automatique avec la date du jour
merci a tous
A voir également:

46 réponses

c bien bo de faire la morale mais ta fonction ne marchent pas...

voila ce que j ai trouve depuis :

set Mydate=%date:~10,4%-%date:~7,2%-%date:~4,2%-%time:~0,2%.%time:~3,2%

md Report_%Mydate%
cd Report_%Mydate%

et ensuite je sauvegarde dans le fichier courant...

bon vent

jacques
2
hourrrah Messages postés 6915 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 10 octobre 2005 504
24 juin 2004 à 11:39
salut,
Si tu crées un dossier un jour, il a, par défaut, la date de ce jour, non ?
Donc :
Cd <le chemin>
md <le nom du dossier>

Cordialement  et @+ 
Chi va piano va sano..chi va sano va più lontano e più alto
0
tigris77g@hotmail.com
28 juil. 2004 à 22:53
Bonjour tout le monde...
voici votre solution tant attendue.. (parceque les backups c'est la santé et des activités en plus)

for /F "tokens=1,2,3,4,5,6,7 delims=/:, " %i in ("%date% %time%") do rem %l%k%j %m%n%o

Le format de la date est : ME. 27/07/2004

Si vous ne souhaitez qu'obtenir la date au format 20040727 et que votre format date est : (%date%) : 27/07/2004

for /F "tokens=1,2,3 delims=/" %i in ("%date%") do rem %k%j%i

(cette dernière version n'a pas été testé mais devrait être fonctionelle).

Au lieu de mettre REM après le DO, il faut mettre MKDIR.
PS : il serait peut être préférable d'éviter de longues discutions "phylosophiques" et répondre de manière plus concise afin de rendre le forum plus professionnel et de recevoir une qualité de réponses meilleures. Ca n'engage que moi, évidement.
0
sidarus Messages postés 387 Date d'inscription jeudi 23 octobre 2003 Statut Contributeur Dernière intervention 12 avril 2007 112
30 août 2004 à 19:52
Le philo... tu disais ?

Relis le poste <9> = marche a suivre + explications => fonctionnel
PS: Ou pourquoi faire simple quand on peut faire compliqué ?
ça n'engage que toi bien évidemment.

~°sidarus°~
0
hourrrah Messages postés 6915 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 10 octobre 2005 504
29 juil. 2004 à 01:31
salut tigris..,

Tout baignre depuis que tu es là..
C'est moins plilosophique. C'est net.

Cordialement  et @+ 
Amato non sarai, se a te solo penserai.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Est ce que quelqu'un est arrivé à avoir la date - 1 ?

J'ai vu que si on a par exemple la date 12/11/2004, en faisant:
Set /a J-1 = %DATE:~5,-8% - 1
Set /a M-1= %DATE:~8,-5%
Set /a A-1=%DATE:~11%
Là j'ai bien 11/11/2004

Mais lorsque j'ai un date avec un zéro : 02/09/2004 ça ne marche plus ! pour le jour... Et idem pour le mois...

Une soluce ????

Merci
0
Ok sidarus, merci pour le mail, mais au Poste <9> je ne vois rien qui puisse me donner la date - 1 !

Mais pas grave j'ai fais autrement ... tous simplement en enregistrant la date dans un fichier que je compare le lendemain...

La veille j'écrit:
Echo %DateTime% > Concat\Concat.log

et le mendemain je controle:
If Not Exist Concat\Concat.log goto NoConcat
For /F " tokens=1 delims=" %%i IN (Concat\Concat.log) do @set ConcTime=%%i

If %ConcTime% == %DateTime% goto Fin

:NoConcat

Suite du traitement.....

:Fin

Bon Ok y'a surement une solution plus simple.. mais je ne l'ai pas trouvé ! Et personne ne me l'a dite !
0
sidarus Messages postés 387 Date d'inscription jeudi 23 octobre 2003 Statut Contributeur Dernière intervention 12 avril 2007 112
31 août 2004 à 13:05
(Le mail c'est pas moi... faut que tu désactive le suivi du forum)

Bon visiblement tu as le meme pb que coudezef (post <10>).
Vérifies ce que te retourne la variable %date% en tapant :

Voici ce que j'obtiens (sur TOUS mes PCs) :
C:\>echo %date% %time%
31.08.2004 12:56:56.73

(%date% %time%, et non %DateTime%)

Si tel est le cas md %date% te cré un dossier %date%. En tapant une 2x fois cette commande tu obtiens le message "Un sous-répertoire ou un fichier 31.08.2004 existe déjà" ce qui prouve que le dossier a été créé.

~°sidarus°~
0
^'est pas dans le sujet précis quoi que...

Moi je créée des BATCH très puissant à partir d'EXCEL
Je crée une hierarchie complète ainsi que des sous-dossiers.

Il est possible de même faire les noms long si l'on place les parenthèses.

Pour ce faire, j'utilise la première colonne concaténée comme source de mon batch. Puis je la copie colle dans notepad et ainsi je peux créer un millier de dossiers et sous-dossiers.

Mais attention, le nombre de dossiers ne devrait pas dépasser 300MAXI dans une hierarchie directe.

de plus la copie vers le bas avec incrémentation d'Excel se révèle très utile.

Ainsi que le TRAIT DROIT obtenu sur vos claviers avec le signe ¦ qui se fransforme en | dans votre système.

Attention de respecter la notion des espaces, les noms court, sans accent, les underline à la place des espaces si vous ne voulez pas utiliser les "chemin texte " pour les noms long.

testez cela en batch

-----------------------------------------------------------------------
md 1_08_2004|md 1_08_2004\word|md 1_08_2004\excel|md 1_08_2004\word\correspondance

md 1_09_2004|md 1_09_2004\word|md 1_09_2004\excel|md 1_09_2004\word\correspondance

-----------------------------------------------------------------------

Pour infos

Eric
0
sidarus Messages postés 387 Date d'inscription jeudi 23 octobre 2003 Statut Contributeur Dernière intervention 12 avril 2007 112
31 août 2004 à 17:13
EXEMPLE FONCTIONNEL

FOR /F "tokens=1-3 delims=./: " %%a IN ('DATE/T') DO SET date=%%a-%%b-%%c

MD c:\backup_du_[%date%]


RESULTAT : c:\backup_du_[31-08-2004]

ADAPTATIONS POSSIBLES :

1/ delim
- delims=. <--%date% = JJ.MM.AA
- delims=/ <--%date% = JJ/MM/AA
- delims=: <-- %date% = JJ:MM:AA

2/ date
- date=%%a-%%b-%%c = 31-08-2004
- date=%%a.%%b.%%c = 31.08.2004
- date=%%a%%b%%c = 31082004
- ...

3/ MD
- md %date%
- md c:\backup_du_[%date%]
- ...

~°sidarus°~
0
Avé Sidarius,

Quand je tape %Date% J'ai mar. 31/08/2004

Le DateTime que j'ai c'est une variable initialisée comme suit:

set DateTime= %DATE:~5,-8%%DATE:~8,-5%%DATE:~11%

Elle contient 31082004

Bon mon usine a gaz fonctionne maintenant, mais ça aurait été plus simple si j'avais pu avoir la date antérieur par simple %Date% -1...

M'enfin la sauvegarde de la date tous les jours dans un .txt ça marche bien aussi !!

En fait je créé des Rapports tous les jour avec la date et l'heure Heure / Heure ( Rapport General du 30082004 7h00.txt ... etc ), et le lendemain, donc le 31, je concatène les fichiers du 30 sous la forme ( RapportJ-1.txt ) et ce pendant 6 jours, le 7 jour je concatène tous en ( Rapport Semaine -1.txt ).
Voilà pourquoi je cherchais à avoir date -1 ...

Yo conprendo ?

Si je fais un copier coller du .cmd tu vas prendre peur !! lol

;-) Fred
0
sidarus Messages postés 387 Date d'inscription jeudi 23 octobre 2003 Statut Contributeur Dernière intervention 12 avril 2007 112
31 août 2004 à 18:45
Re Fred_L

Connais-tu l'usage de .LOG en 1ère ligne dans unTXT ?
Cette formule ne te conviendrais pas ?

Extrait Aide NotePad :
Pour ajouter un journal à la fin d'un document
Sur la première ligne d'un document Bloc-notes, tapez l'extension suivante depuis la marge de gauche, en veillant à utiliser des majuscules et à ne pas oublier le point :
.LOG

Dans le menu Fichier, cliquez sur Enregistrer.

Remarque

Chaque fois que vous ouvrirez ce document, le Bloc-notes ajoutera à la fin l'heure et la date actuelles, telles qu'elles sont définies par l'horloge de votre ordinateur.


~°sidarus°~
0
Je connait le .LOG, mais cela ne me va pas....

Ce que je cherchait vraiment, c'est qu'aujourd'hui 31/08/2004 je puisse par une simple comande avoir la date d'hier... 30/08/2004 ou date -2 29/08/2004.. etc....

Mais a priori on ne peut pas !
Sauf faire comme j'ai fait.... je jour aujourd'hui sauver la date dans un fichier de façon à ce que demain je puisse avoir la date - 1....

Mais rassure toi, je finirais bien par trouver une solution plus simple !

@+ Fred
0
sidarus Messages postés 387 Date d'inscription jeudi 23 octobre 2003 Statut Contributeur Dernière intervention 12 avril 2007 112
2 sept. 2004 à 22:30
Au fait tu veux le résultat de %date%=%date% -1

C'est en principe possible puisque tout système dispose d' une fonction temporel retournant le nombre de seconde écoulées depuis une date définie, le 01.01.1900 (si je ne m'abuse).

Il s'uffit dans ce cas de faire ceci :
- convertir %time% en %sec écoulées dans 1 journé
- convertir %date% en %jrs écoulés depuis le 01.01.1900
%now = %jrs * %sec         REM %now = %date% + %time%
%hier = %now - 60*60*24    REM 1 jr = 86400 sec

... ça peut etre un exercice sympa :)

~°sidarus°~
0
Pour ceux que ça intéresse... Car des fois on cherche mais on trouve pas !


Demande d'info à l'utilisateur : ( Message box )

Elle est appelée comme ça depuis les autre .cmd:

Call InputBox.cmd "Entrez le mot de passe pour xxxx :" "Indice que tu veux xxxx"

InputBox.cmd
-----------------------------------------------------------------------
@echo off
COLOR 0A
CLS
if Not %2 == "" goto Argv1
Echo.
Echo.
Echo.
Echo.
Echo %1
Echo.
Goto Argv2

:Argv1

Echo.
Echo.
Echo.
Echo.
Echo %1
Echo.
Echo %2
Echo.


:Argv2
Echo ( Pour valider taper ENTER, puis F6, puis ENTER )

Copy con Input
for /F " tokens=1 delims=" %%i in (Input) do @set ResBox=%%i%

Del Input
Cls

-------------------------------------------------------------

Recup du path ou est lancé le script... Ca peut être utile si celui-ci est déplacé dans un sous répertoire ou sur un autre partage !

*************************************************

REM ------------------------------------------------
REM Récupération du Path ou est lancé le script
REM ------------------------------------------------
for /f %%i in ('cd') do @set Drive=%%i
cd ..
for /f %%i in ('cd') do @set Drive2=%%i

Renvoi C:\Script\Automatisation quand on tape Echo %Drive%
Renvoi C:\Script\ quand on tape Echo %Drive2%




***************************************************
Tien... Un script qui peut intéresser du monde..

J'avais besoin dans mes automatisation de mettre la clé registre [HKEY_USERS\S-1-5-21-815036413-821321335-1845911597-4016\Software\Microsoft\Internet Explorer\Main] "Start Page" avec la valeur "about:blank".

Le problème c'est qu'en fonction de la session, le SID change !
( S-1-5-21-xxxxxxxxx )

Alors je me suis fais ........ Pour trouver une solution... donc la voilà :

RecupSID.cmd

------------------------------------------------------------------------
@echo off
REM ----------------------------------------------------------------------------------
REM Recupération du SID de HKEY_USERS Pour mettre about.blank en page de démarrage d'IE
REM ----------------------------------------------------------------------------------
for /f %%i in ('cd') do @set Drv=%%i
cd ..
for /f %%i in ('cd') do @set Hdd=%%i\
cd %Drv%

REM ----------------------------------------------------------------------------------
REM On prend toute la branche HKEY_USERS et on l'export vers Home.reg
REM ----------------------------------------------------------------------------------

REGEDIT /E/A Home.reg "HKEY_USERS"

REM ----------------------------------------------------------------------------------
REM On recherche le SID S- dans notre Home.reg et on le fou la ligne dans un autre fichier reg.txt
REM ----------------------------------------------------------------------------------
FINDSTR "S-" "Home.reg" > reg.txt

REM Ici j'ai un fichier avec que les lignes qui ont [HKEY_USERS\S-1-5-21-815036413-821321335-1845911597-4016


set Nbre=1
:Loop
REM Recupération de la ligne sans [HKEY_USERS

for /F " tokens=%Nbre% delims=\" %%i in (Reg.txt) do @set ResBox=%%i%
REM On enregistre la valeur de %i dans UID ( pas besoin de .txt)
Echo %ResBox% > UID

REM ok j'ai plus que S-xxxxxxxxxxxxxxx au deuxieme passage

If %Nbre%==2 goto suite
Set /a NewNbre=%Nbre%+1
Set Nbre=%NewNbre%

goto Loop

:Suite
REM Je supprime la fin ( S-xxxxx-xxxxx-xxxxx_classe.......)

for /F " tokens=1 delims=_" %%i in (UID) do @set SID=%%i%
REM Voila j'ai mon SID au format S-1-xxxxx-xxxxx-xxxxx

Del UID
DEL Reg.txt
Del Home.reg

REM %Hdd% c'est là où je veux que mon fichier soit

echo Windows Registry Editor Version 5.00 > %Hdd%About-Blank.reg
echo. >> %Hdd%About-Blank.reg
echo [HKEY_USERS\%SID%\Software\Microsoft\Internet Explorer\Main] >> %Hdd%About-Blank.reg
echo "Start Page"="about:blank" >> %Hdd%About-Blank.reg

-------------------------------------------------------------------------

Et voilà un SID tout beau tout neuf !


@+ Fred
0
Encors une petite chose :

Au cours de mes scripts, je me suis apperçue que les boucle FOR ne marche pas bien arrivée à 15 voir 18 pour le tokens.
J'ai eu le cas lors de tests sur des pages internet et sur des serveurs...

Du coups il faut ruser.... Cf en dessous

J'ai pas mis le début du scrip mais seulement la boucle :

*****************************************************

REM--------------------------------------------------------------------
REM Initialisation des variables
REM--------------------------------------------------------------------
Set Nbre=1
Set Command=C:\WINNT\System32\LogFiles\Test.cmd
Set FileTemp=LogComponents.txt


REM ------------------------------------------------------------------------------
REM Il y a trop de serveurs pour le For Cf deuxième StrInput dans la boucle
REM -----------------------------------------------------------------------------
Set StrInput=ntintfr00208-ntintfr00209-ntintfr00213-ntintfr00214-ntintfr00218-ntintfr00219-ntintfr00221-ntintfr00222-ntintfr00223-ntintfr00224-EndFile

REM -----------------------------------------
REM Debut de Boucle Pour les serveurs
REM -----------------------------------------

:MyLoop2
for /F " tokens=%Nbre% delims=- " %%i in ("%StrInput%") do @set Ci=%%i%

REM ------------------------------------------------------
REM Selon resultat du FOR Définition des variables
REM ------------------------------------------------------
If %Ci% == EndFile goto OutComp

echo Test %Ci%....
Echo.

REM ------------------------------------------------------------------
REM TempRapport.txt afin de mettre les erreurs en début de rapport
REM --------------------------------------------------------------------
Echo. >> TempRapport.txt
Echo Test Component sur le serveur %Ci%.... a %TIME:~0,-9%h%TIME:~3,-6% >> TempRapport.txt
Echo ------------------------------------------------------ >> TempRapport.txt
Echo. >> TempRapport.txt
Echo. >> TempRapport.txt
Echo. >> TempRapport.txt

REM -------------------------------------------------------------------
REM Execution du Script VBS via un fichier cmd sur le serveur distant car psexec ne prend pas en charcge le vbs directemnt
REM--------------------------------------------------------------------
psexec \\%Ci% -u %User% -p %Password% %Command% >> TempRapport.txt

Echo. >> TempRapport.txt
Echo. >> TempRapport.txt
Echo. >> TempRapport.txt


REM ------------------------------------------------------
REM Recuperation du fichier du Serveur distant
REM ------------------------------------------------------

Echo User %User% >> RecupFTP
Echo %Password% >> RecupFTP
Echo Get %FileTemp% >> RecupFTP
Echo Quit >> RecupFTP

REM --------------------------------------------------------------------
REM Recup du fichier créé par le Vbs sur le serveur
REM --------------------------------------------------------------------
ftp -n -s:RecupFTP %Ci%

Del RecupFTP


Echo. >> TempRapport.txt
Echo Fichier LogComponent %Ci% du %DATE:~5,-8%%DATE:~8,-5%%DATE:~11% a %TIME:~0,-9%h%TIME:~3,-6% >> TempRapport.txt
Echo ------------------------------------------------ >> TempRapport.txt
Echo. >> TempRapport.txt
Echo. >> TempRapport.txt
Echo. >> TempRapport.txt

REM ----------------------------------------------------------------
REM Recherche du Nom du serveur dans le fichier temporaire
REM ----------------------------------------------------------------
FINDSTR "%Ci%" "%FileTemp%" >> ErrorComponent.txt
Echo Erreur sur les Composents de %Ci% >> ErrorComponent.txt
Echo ---------------------------------------- >> ErrorComponent.txt
REM ----------------------------------------------------------------
REM Recherche d'erreur dans le fichier temporaire
REM ----------------------------------------------------------------
FINDSTR "failed" "%FileTemp%" >> ErrorComponent.txt
Echo. >> ErrorComponent.txt
Echo. >> ErrorComponent.txt
Echo. >> ErrorComponent.txt
Echo. >> ErrorComponent.txt

Type %FileTemp% >> TempRapport.txt

REM -----------------------------
REM Suppression du Fichier
REM -----------------------------
Del %FileTemp%


REM -------------------------------------------------------------------
REM Deuxième partie de StrInput car trop de seuveurs pour le FOR
REM -------------------------------------------------------------------
If %Nbre% == 10 goto SFor
goto NSFor

:SFor
Set StrInput=ntintfr00233-ntintfr00234-ntintfr00235-ntintfr00236-ntintfr00237-EndFile
Set Nbre=1

:NSFor


REM -----------------------------------
REM Incrementation de la boucle
REM -----------------------------------
Set /a NewNbre=%Nbre%+1
Set Nbre=%NewNbre%

REM --------------------------------------------------------------
REM Suppression de la connexion créée par psexec avec le serveur
REM --------------------------------------------------------------

Net Use /Delete \\%Ci%

goto MyLoop2


*****************************************************

Pour ceux qui veulent le script en entier :
frlenti(at)free(point)fr

@+ Fred
0
:SFor
Set StrInput=ntintfr00233-ntintfr00234-ntintfr00235-ntintfr00236-ntintfr00237-EndFile
Set Nbre=1
0
Oups !!!

Merci le forum..je viens de m'appercevoir que l'un de mes serveur passait au travers...
Nbre = 0 et non 1 puisque j'increment derière...

:SFor
Set StrInput=ntintfr00233-ntintfr00234-ntintfr00235-ntintfr00236-ntintfr00237-EndFile
Set Nbre=0 et non 1
0
Oups !!!

Merci le forum..je viens de m'appercevoir que l'un de mes serveur passait au travers...
Nbre = 0 et non 1 puisque j'increment derière...

:SFor
Set StrInput=ntintfr00233-ntintfr00234-ntintfr00235-ntintfr00236-ntintfr00237-EndFile
Set Nbre=0 et non 1
0
sidarus Messages postés 387 Date d'inscription jeudi 23 octobre 2003 Statut Contributeur Dernière intervention 12 avril 2007 112
31 août 2004 à 22:01
Bon puisque tu fais les questions/réponses on te laisse :)

A quand la dicerte ? ;)

~°sidarus°~
0
Oups ! je te sens pas là Mister Sidarius !

Je ne fais que partager ce que je fais afin de donner des exemples... c'est tellement difficile de les trouver parfois !

pour la date - 1 je finirais bien par trouver ... et pour reprendre Blux :
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

@+ et sois pas fâcher Sidarius, je suis sur que tu connais plien de bonnes choses toi aussi ;-)
0
hourrrah Messages postés 6915 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 10 octobre 2005 504
1 sept. 2004 à 09:58
salut Fred_L,
Sans valoir (trop) m'immiscer, il peut sembler que Sidarus n'a pas tort...dans sa remarque..
TU as dû aligner 6-7 messages à se suivre.. mais c'est ça, sans doute, aussi, la passion de la recherche et de la découverte...

Cordialement  et @+ 
Chi cerca, trova.
0
sidarus Messages postés 387 Date d'inscription jeudi 23 octobre 2003 Statut Contributeur Dernière intervention 12 avril 2007 112
1 sept. 2004 à 19:06
Disons que j'ai beau relire mais là j'avoue m'y perdre. T'as noyé le poisson :P Pourrais tu refaire un poste récapitulif avec :

- objetif(s)
- méthode/marche a suivre retenue
- script commenté (REM)
- mise en page/présentation (<tag>)

PS: tu remarquera que cette discipline je me l'applique a moi meme dans le simple but de "faire passer" le message et ce quel que soit le niveau du lecteur. C'est, disons-le, déontologiquement professionel et hétiquement respectueux envers ceux dont l'attention est sucitée.

Cordialement

~°sidarus°~
0
ShortCuT Messages postés 419 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 24 avril 2006 87
1 sept. 2004 à 16:04
bonjour ,
pour mon boulot j'ai fait un ptit programme qui chaque jour creer un dossier avec la date et creer un backup des db
dans l'interface la fréquence de sauvegarde , les données a sauver et la destination sont parametrable si ca t'interesse et si ca peut t'aider

--> shortcut.be@gmail.com

j'ai fait ca vite fait en delphi

------------------------------
Gwen
0
djest_02 Messages postés 4 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 22 février 2007
17 févr. 2007 à 13:29
bonjour,je voudrais appprendre à ecrire un batch pour sauvegarder chaque jour et à une heure precise mes donnees.merci et a bientot.
0
Je suis tombe sur ce Forum pile poil quand il fallait apparamment...

Moi j'ai essaye toutes les solutions que vous avez proposé ci-dessus et y'en a qu'une qui marche si je la modifie :


FOR /F "tokens=1-4 delims=/: " %a IN ('DATE/T') DO SET date=%a%b-%c-%d
FOR /F "tokens=1-2 delims=:" %a IN ('TIME/T') DO SET time=%ah%b
mkdir C:\Sauvegardes\%date% %time%

Mais mon probleme -sinon j'aurais pas dérangé des gens avec un si haut niveau (je me suis pissé dessus en voyant les post du forum)- c'est que ca marche seulement si je les entre en commandes, mais pas si elles sont executees depuis un fichier.bat. Je deprime...
En plus je suis sous windows XP pro ca devrait pas poser de pb.

Mystère ...

Par contre ShortCut ton prog en Delphi m'interresse comme la confiture interresse les cochons. Si tu pouvais gaspiller 5 minutes de ton temps et me l'envoyer a nuke4all@wanadoo.fr, j'en serais tres honoré et soulagé d'un grand poids ...
0
sidarus Messages postés 387 Date d'inscription jeudi 23 octobre 2003 Statut Contributeur Dernière intervention 12 avril 2007 112
2 sept. 2004 à 18:07
Et vi le pb c'est que tu as modifié (cf post <28>) et sans faire exprès tu y a introduits qq erreurs ;)

Non pas

FOR /F "tokens=1-4 delims=/: " %a IN ('DATE/T') DO SET date=%a%b-%c-%d
FOR /F "tokens=1-2 delims=:" %a IN ('TIME/T') DO SET time=%ah%b
mkdir C:\Sauvegardes\%date% %time%


Mais

FOR /F "tokens=1-3 delims=/." %%a IN ('DATE/T') DO SET date=%%a-%%b-%%c
FOR /F "tokens=1-2 delims=:" %%a IN ('TIME/T') DO SET time=%%a'%%b
md "C:\Sauvegardes\%date% %time%"


Et oui les langages formels ça pardonne pas.
Y a 2 types d'erreur : syntaxique / sémantique
- syntaxique = bug
- sémantique = pas de bug mais le résultat n'est pas logique (sémantique)

1/ DATE = jj/mm/aa (3 valeurs) => "tokens=1-3" (et non 1-4)
2/ si %date% = jj/mm/aa OR jj.mm.aa => "delims=/. " (et non /:)
3/ %%var (et non %var)
4/ puisqu'il y a 1 "espace" entre %date% et %time% tu dois encadrer le tout par des "".


~°sidarus°~
0
sidarus Messages postés 387 Date d'inscription jeudi 23 octobre 2003 Statut Contributeur Dernière intervention 12 avril 2007 112
2 sept. 2004 à 18:52
              tokens----+ 
                |       |
            +---+---+   |
            |   |   |   |
  DATE/T-->JJJ.MMM.AAA--+-->%%a %%b %%c
              |   |
              +-+-+
                |
              delims



~°sidarus°~
0
ShortCuT Messages postés 419 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 24 avril 2006 87
2 sept. 2004 à 15:48
oui je te filerai ca , je doit le recup sur le server , j'ai pas garder ca dans mes truc perso ...

sinon tu peut choisir le repertoir source , celui de destination
dans celui de destination il creer auto un rep "backup_date"

tu peut spécifier comme frequence : 1/2 journée , chaque jour , chaque semaine .

suivant ce que tu choisit tu peut spécifier l'heure ou le jour de la sauvegarde

et alors ca t'affiche des stats ..... derniere sauvegarder , prochaine , nombre total de sauvegarder etc .
si une sauvegarde existe deja il creer un dossier

copie (1) de backup_02092004

comme j'ai utiliser l'API windows de la fonction copier y'a aucun probleme , je t'envoie ca demain .

envoie un mail sur shortcut.be@gmail.com , histoire que j'oublie pas
------------------------------
Gwen
0