Programmation avec MS-DOS

Résolu/Fermé
gval Messages postés 28 Date d'inscription samedi 8 août 2009 Statut Membre Dernière intervention 1 février 2016 - 20 juil. 2010 à 09:26
gval Messages postés 28 Date d'inscription samedi 8 août 2009 Statut Membre Dernière intervention 1 février 2016 - 21 juil. 2010 à 16:56
Bonjour,
Je désire tester la présence d'un fichier sur le disque, puis incrémenter une valeur à l'intérieur du programme, pour renommer ce fichier.

Exemple :
Test fichier "fichier_nnn" (Ou "nnn" est un numéro de "000" à "999")
Si existe
"nnn" = "nnn + 1"
Rename du fichier en "fichier_nnn+1"

Cela est-il possible avec MS-DOS, si oui comment, quelle syntaxe ?

Merci de vos réponses

Windows XP - NT

3 réponses

salut,

voilà un début possible :

if not exist c:\mon_rep\mon_fichier goto suite
move c:\mon_rep\ancien_nom_fichier c:\mon_rep\nouveau_nom_fichier
:suite

a+
0
Bonjour,

Tes fichiers sont dans un même répertoire ?

Cdlt.
0
Comme tu ne donnes pas de réponses, je vais te mettre quand même un code qui lui traitera tes fichiers dans un même dossier.

Le script ce met directement dans le dossier des fichiers. Les fichiers sont nommés fichier_000.txt, fichier_001.txt, fichier_002 etc ...
Le script va faire un test, si le fichier_000 existe, et si c'est le cas il va voir combien y en a d'autres derrière afin de pouvoir incrémenter tout les fichiers. (Car sinon on ne peux pas incrémenter le fichier_000.txt en fichier_001.txt car le fichier_001 existe déjà) Dès qu'il teste le dernier fichier du dossier, il renomme les fichiers du dernier au premier afin de pouvoir toujours renommer les fichiers.

Je suppose qu'il y a peut être une meilleur façon de faire mon code, mais ça fonctionne quand même :D

Si tu as besoin d'autre renseignements, n'hésites pas.

Cdlt.

Xavier

Code :

@echo off
set a=0
set b=1
:boucle
set resulta=000%a%

if exist fichier_%resulta:~-3%.txt goto oui
goto non

:oui
set /A a+=1
set resulta=000%a%

if exist fichier_%resulta:~-3%.txt goto oui

:modif
set /A b=%a%-1
set resultb=000%b%
set resulta=000%a%
ren fichier_%resultb:~-3%.txt fichier_%resulta:~-3%.txt
Set /A a-=1
if %a% GTR 0 goto modif

:non
echo FIN
pause
0
gval Messages postés 28 Date d'inscription samedi 8 août 2009 Statut Membre Dernière intervention 1 février 2016
21 juil. 2010 à 16:56
Désolé pas avoir répondu rapidement. Beaucoup travail.
Oui fichier toujours dans un même répertoire.
Merci de ta réponse.
Cdlt.
0