Demande d'aide sous batch

ziko.1988 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
karirovax Messages postés 3221 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

si klk1 peut m'aider svp
j'ai un fichier ki s'appel zzz2010121369857 et je veux extraire seulement la date 20101213 à partir de ce nom,
si klk1 peut me faire un script sous dos pour realiser sa
et merci d'avance


18 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
C:> set nom=zzz2010121369857

C:> echo %nom:~3,8%
20101213

C:>
0
ziko.1988 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour ta reponse
mais moi j'ai plusieurs fichier donc je dois faire une boucle,
par exemple j'ai un dossier qui s'appel test et j'ai plusieurs fichier excel .xsl
et je veut extraire seulement la date (zzz201001121547=20100112)
et merci d'avance
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
une boucle comme ça
@echo off

setlocal enableDelayedExpansion
for /f "delims=" %%a in ('dir /b zz*.xls') do (
set nom=%%a
echo !nom:~3,8!
)
0
ziko.1988 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
svp mnt quand jé recuperé la date du fichier je veux supprimer tt les fichier .xls qui ont une date<2009(datesysteme-12)
svp tu peut me faire le scipt qui fait sa
et merci d'avance
0

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

Posez votre question
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
tu remplaces la commande echo par ta commande de suppression.
!!! tu fais des tests et des sauvegardes avant !!!
@echo off

setlocal enableDelayedExpansion
set /a annee=%date:~6,4%-1
for /f "delims=" %%a in ('dir /b zzz*.xls') do (
set nom=%%a
set /a anneefichier=!nom:~3,4!
if !anneefichier! LEQ !annee! echo !nom!
)
0
ziko.1988 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
nn sa veut marcher mon frer il me donne missing operande
ché po ya une erreur klk part ché po moi si tu peut me rectifier ce prog et merci bcp,et stp essai ché toi si sa marche ou po,tu crée un dossier et tu met 3 fichier excel et essai stp ok
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
pas de language SMS
C:> dir /b
zzz200801121547.xls
zzz200901121547.xls
zzz201001121547.xls
zzz2010121369857.xls

C:> ..\bb
zzz200801121547.xls
zzz200901121547.xls

C:> type ..\bb.bat
@echo off

setlocal enableDelayedExpansion
set /a annee=%date:~6,4%-1
for /f "delims=" %%a in ('dir /b zzz*.xls') do (
set nom=%%a
set /a anneefichier=!nom:~3,4!
if !anneefichier! LEQ !annee! echo !nom!
)
C:>
0
ziko.1988 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
bnjr
d'abord Merci beaucoup pour ta reponse c'est tres gentil
stp maintenant je veux ke le message (appuyer sur une touche pour continuer),je voulais qu'il disparait ,comment je vais faire? et merci pour ta reponse
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
quel message ?
0
ziko.1988 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
bon,quand il termine l'execution il m'affiche appuyer sur une touche pour continuer,parceke jé mis pause dans le script,mantenant je veux ke le message disparait carement,c'est a dire quand j'execute il va faire le traitement du script et aprés il revient au c:>documents and settings\user>
tu ma compris maintenant,je sais pas quoi faire???
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
enlever la commande pause du script, il se terminera à la dernière ligne.
ou si tu veux quand même voir le messge sans qu'il s'arrête
C:> echo | pause 
Appuyez sur une touche pour continuer... 

C:>
0
ziko.1988 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
oui c'est ce que je veux,mais je veux pas que le message apparait,si tu peut enlever le message,il termine sans message,je doit faire quoi stp ???
0
ziko.1988 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
c'est bon je lé trouvé merci bcp pr ton aide
c'est: echo |pause>nul
merci pour tt ;)
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
enlève la commande pause
0
ziko.1988 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
c'est obligé pause pour que je puisse rester dans la ligne de commande
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
comment est-ce que tu démarres ton script ?
si tu veux rester en ligne de ccmmande à la fin du script, met cmd à la place de pause
0
ziko.1988 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
mais la sa a marché avec pause
code:
echo |pause>nul
j'ai ajouter nul pour qu'il m'affiche rien et je reste dans la ligne tu vois,donc c applicable
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
cette commande ne fait rien, ça ne doit pas être ça le problème
0
ziko.1988 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
nn j'ai aucun probleme maintenant
0
karirovax Messages postés 3221 Date d'inscription   Statut Membre Dernière intervention   204
 
salut

si vous faites un double clic sur votre fichier de commande ( batch ) , dans ce cas oui , il faut un pause comme ceci :

pause|echo C'est termin'e
ou
pause|echo C'est termin'e>nul

mais si vous travaillez sur l'invite de commandes ( CMD ) " en tappant directement a la console Ms-Dos" là la commande PAUSE n'a pas d'importance

karirovax ;)
0