Demande d'aide sous batch

Fermé
ziko.1988 Messages postés 24 Date d'inscription mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010 - 14 juil. 2010 à 10:48
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 - 20 juil. 2010 à 00:12
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
14 juil. 2010 à 11:50
hello
C:> set nom=zzz2010121369857

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

C:>
0
ziko.1988 Messages postés 24 Date d'inscription mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010
14 juil. 2010 à 12:17
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
14 juil. 2010 à 12:40
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 mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010
14 juil. 2010 à 14:02
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
14 juil. 2010 à 14:32
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 mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010
14 juil. 2010 à 16:57
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
15 juil. 2010 à 07:47
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 mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010
15 juil. 2010 à 10:39
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
15 juil. 2010 à 12:26
quel message ?
0
ziko.1988 Messages postés 24 Date d'inscription mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010
15 juil. 2010 à 13:08
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 15/07/2010 à 13:20
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 mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010
15 juil. 2010 à 13:25
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 mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010
15 juil. 2010 à 13:27
c'est bon je lé trouvé merci bcp pr ton aide
c'est: echo |pause>nul
merci pour tt ;)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
15 juil. 2010 à 13:27
enlève la commande pause
0
ziko.1988 Messages postés 24 Date d'inscription mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010
15 juil. 2010 à 14:12
c'est obligé pause pour que je puisse rester dans la ligne de commande
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
15 juil. 2010 à 14:17
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 mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010
15 juil. 2010 à 15:58
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
15 juil. 2010 à 16:15
cette commande ne fait rien, ça ne doit pas être ça le problème
0
ziko.1988 Messages postés 24 Date d'inscription mercredi 14 juillet 2010 Statut Membre Dernière intervention 22 août 2010
16 juil. 2010 à 10:55
nn j'ai aucun probleme maintenant
0
karirovax Messages postés 3221 Date d'inscription dimanche 17 janvier 2010 Statut Membre Dernière intervention 22 juin 2016 203
20 juil. 2010 à 00:12
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