Dos Scruter, Copier, Renomer, transferer [Batch] - Shell/Batch - Programmation
Marsh Posté le 25-06-2003 à 10:51:16
1) pour scruter ton répertoire toutes les 5 minutes, je ne vois que le planificateur de tâches.
3) renommer le fichier :
tu te crée un fichier nombre.bat contenant :
set nombre=1
dans ton batch, si le fichier est trouvé :
nombre.bat crée la variable nombre
set /a nombre=nombre+1 incrémente nombre
echo set nombre=%nombre%>nombre.bat
ren tonfichier %nombre%tonfichier
A+
Marsh Posté le 25-06-2003 à 11:01:54
pour le 1) c ce que je pensai faire
par contre le 3) c pas vraiment ce qui m'est demander...
ce que je voudrai c le quantieme du jour...
J'ai rechercher une fonction qui aurai pu faire ca mais ca n'dexiste po... a moin de faire un morceau de programme...
Une idée?
Marsh Posté le 25-06-2003 à 11:28:18
précise un peu ton besoin :
Quantième, c'est 25 pour le 25 juin 2003
ou c'est plus compliqué, du style 2003-06-25 ?
A+
si c'est pour avoir le numéro du jour, tu crée une variable d'environnement (par exemple quant) ainsi :
set quant=%date:~0,2%
ensuite :
ren fichier %quant%fichier
A+
Marsh Posté le 25-06-2003 à 12:33:06
moué en fait j'v partir sur ta premier idée du nombre.bat car personne est capable de me dire ce qu'il veulent vraiment
par contre si je cré un fichier nombre.bat et que je l'appelle via le batch principal... (procedure que je n'ai jamais testé auparavent) mon batch principal appelle le nombre.bat et ne continue plus son execution
donc le
set /a nombre = nombre+1
echo set nombre=%nombre% = nombre.bat
etc.... ne s'execute po
astuces?
Marsh Posté le 25-06-2003 à 13:36:46
j'avais oublié le call... désolé
call nombre.bat est la bonne syntaxe.
A+
Marsh Posté le 25-06-2003 à 15:29:35
bon g presque terminer tout le prog... il me reste une connerie...
En fait quand je fé un
echo set nombre=%nombre% >> nombre.bat
et que je renome mon fichier lors de l'execution du script
ren fichier.txt fichier_%numero%.txt
il me lance un message d'erreur car le numero est suivi d'un espace
si j'excri
echo set nombre=%nombre%>>nombre.bat
ca marche pas il interprete pas le %nombre%>>nombre.bat
Marsh Posté le 25-06-2003 à 15:49:09
Dans ce cas :
set nombre=%nombre:~0,-1%
enlève le dernier caractère de la variable nombre
ce qui devrait résoudre ton pb
syntaxe :
set nombre=%nombre:~0,-x%
enlève les x derniers caractères de la variable nombre
A+
edit : pourquoi tu fais :
echo set nombre=%nombre%>>nombre.bat
ton fichier ne vas jamais être remis à 0 !!!
la syntaxe est :
echo set nombre=%nombre%>nombre.bat
Marsh Posté le 25-06-2003 à 15:52:06
une erreur de mon post c bien > et pas >> qui ya dans mon script
bon je test
Marsh Posté le 25-06-2003 à 16:21:58
c bon ca fonctionne merci JPA
Marsh Posté le 25-06-2003 à 10:34:36
Salut @ tous
Donc vala je doit faire un batch qui devrai
1) scruter un repertoire toute les 5 minutes (par exemple) et vérifier si un fichier y est.
2) Copier le fichier dans un repertoire .\sav\
3) le renomer dans le .\sav\ avec un numero de quantieme en debut
4) transferer l'original via FTP sur une machine du reseau
5) effacer l'original
En gros la partie 2),4), et 5) sont tres simple, il me manque des billes pour la recherche du quantieme... le renomage devrai etre assez simple et il me manque des billes pour le scrutage de repertoire... a savoir que le nom de fichier est normalement fixe...
Vala merci
---------------
-=Voili Voilou=-