Fichier .BAT

Fichier .BAT - Shell/Batch - Programmation

Marsh Posté le 23-09-2004 à 21:13:10    

J'ai une petite question. Je suis en train de faire un fichier .bat pour une tâche planifiée pour créer des rapport. Le fichier doit executer les tâche suivantes:
 
Déplacer un fichier du dossier Courant dans le dossier Ancien.
MAIS, je veux garder les anciens fichier qui étaient dans le dossier Ancien (vous me suivez ?)
IE:
Contenu de Courant: MAU-Courant.DOC
Contenu de Ancien: MAU01.DOC, MAU02.DOC, MAU03.DOC
 
Le fichier courant\MAU-Courant.doc doit aller dans le dossier Ancien avec le nom MAU04.DOC ..
 
Si vous avez une petite idée .. ca serais apprécier


Message édité par xMaximex le 23-09-2004 à 21:21:17
Reply

Marsh Posté le 23-09-2004 à 21:13:10   

Reply

Marsh Posté le 23-09-2004 à 21:18:59    

xMaximex a écrit :


(tu me suis ?)


hé oh! on a pas été présentés là :/

xMaximex a écrit :


Contenu de Courant: MAU-Courant.DOC
Contenu de Ancien: MAU01.DOC, MAU02.DOC, MAU03.DOC


Je pense qu'il va falloir se mettre au perl (ou autre chose que du batch nt)


Message édité par schnapsmann le 23-09-2004 à 21:19:14

---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 23-09-2004 à 21:20:52    

Désolé pour le TU, c'est un email que j'ai envoyer a un programmeur ici, j'ai copier coller :)
 
Le perl .. je peux utiliser ca pour les tache planifier dans un windows 2000 serveur ?

Reply

Marsh Posté le 23-09-2004 à 21:22:46    

xMaximex a écrit :

Désolé pour le TU, c'est un email que j'ai envoyer a un programmeur ici, j'ai copier coller :)
 
Le perl .. je peux utiliser ca pour les tache planifier dans un windows 2000 serveur ?


il faut l'installer et c'est bon.
bon courage pour faire ça en batch sinon  :o


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 23-09-2004 à 21:23:47    

Dans mon cas tu devrais me souhaiter bon courage pour le faire en perl, je connais pas ca et je crois pas que je puisse installer qqch sur un serveur ici ..


Message édité par xMaximex le 23-09-2004 à 21:24:01
Reply

Marsh Posté le 23-09-2004 à 21:32:26    

xMaximex a écrit :

Dans mon cas tu devrais me souhaiter bon courage pour le faire en perl, je connais pas ca et je crois pas que je puisse installer qqch sur un serveur ici ..


 
je ne pensais jamais dire ça, mais au pire, tu peux le faire en vb  [:kains]


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 23-09-2004 à 21:36:13    

ya vraiment AUCUN moyen de le faire en batch ?

Reply

Marsh Posté le 23-09-2004 à 21:39:25    

ya pas d'outils de type grep/cut/tr/sed sous windows par défaut. Je vois pas comment tu vas faire sans en batch.
 
c'est perl ou vb. à moins que le batch nt ait des fonctions évoluées de nos jours, ce qui est possible mais j'en doute un peu.


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 23-09-2004 à 21:46:16    

d'accord, merci je vais réfléchir a ca

Reply

Marsh Posté le 24-09-2004 à 08:58:08    

Bonjour,
 
Tu fais un copier/coller de ce code dans un fichier que tu enregistre avec l'extension VBS (Visual Basic Scripting) et ça doit rouler.
 
Set fso = CreateObject("Scripting.FileSystemObject" )
' Pointer sur le répertoire
Set f = fso.GetFolder("c:\Ancien" )
' parcourir le répertoire
Cpt = 0
For Each fichier In f.Files
   ' récupérer le N° le + grand
   sPoint = InStr(fichier.Name, "." )
   Num = Mid(fichier.Name, sPoint - 1, 1)
   If Num > Cpt Then
      Cpt = Num
   End If
Next
' Ajouter 1
Cpt = Cpt + 1
' concaténer un zéro si inférieur à 10
If Cpt < 10 Then
   Rang = "0" & CStr(Cpt)
End If
' Position du point
sPoint = InStr("c:\courant\MAU-Courant.doc", "." )
' Position du tiret
sTiret = InStr("c:\courant\MAU-Courant.doc", "-" )
' Renommer le fichier à déplacer
Fichier_a_deplacer = Mid("c:\Ancien\MAU-Courant.doc", 1, sTiret - 2) & Rang & "." & Mid("c:\courant\MAU-Courant.doc", sPoint + 1)
' déplacer le fichier
fso.movefile "c:\courant\MAU-Courant.doc", Fichier_a_deplacer
Set f = Nothing
Set fso = Nothing

Reply

Marsh Posté le 24-09-2004 à 08:58:08   

Reply

Marsh Posté le 24-09-2004 à 09:04:57    

schnapsmann a écrit :

ya pas d'outils de type grep/cut/tr/sed sous windows par défaut. Je vois pas comment tu vas faire sans en batch.
 
c'est perl ou vb. à moins que le batch nt ait des fonctions évoluées de nos jours, ce qui est possible mais j'en doute un peu.


 
y'a ça (utilisé dans de grosse boîtes) : http://www.kixtart.org/
 
(mais du scripting sous windows CAI SALE [:totoz]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 04-10-2004 à 11:33:40    

je pense pouvoir le faire en batch si ca te dit tjrs ... re-post moi a l'affirmative mais attention y aura du bricolage car en batch on mank de fonctions ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed