Aide petit prog

benoua -  
 benoua -
Bonjour,

J'ai besoin de votre aide !!! Je souhaite ecrire un programme tout bete consistant a copier tous les fichiers, créés entre une date D1 entrée par l'utilisateur et la date du jour D2, d'un répertoire vers un autre répertoire.
J'ai toujours bossé sous Unix, et je me retrouve sous windows... comme un nul ! J'ai commencé par voir ce que je pouvais faire avec des batchs .bat mais j'ai des problemes avec les prises de dates (j'ai lu sur le forum que ce n'etait pas possible en DOS).

Si ce n'est pas trop galere a faire, qqn pourrait-il me porposer une solution dans un language non compilable (je n'ai pas le droit d'installer de compilateur sur ma machine !) disponible sous XP pro.


Merci d'avance

Benoua

9 réponses

ah
 
bonjour,
ce serait plutôt à "benoua" de nous dire
ce dont il dispose comme langages ...
et je ne suis pas sûr que quelqu'un va
développer ça, comme ça ...
aider à mettre au point : oui,
tout faire ? gratis ? plus difficile à trouver ... @+
0
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Python semble raisonnable non?


Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
0
benoua
 
En fait je ne sais pas trop ce qui est disponible sous windows. Sous unix un p'tit script Shell est tu fais (presque) tout. Quand ce n'est pas une question de temps inutile de passer par un prog en C++ ou autre. Ma premiere question est donc : existe-t-il un language "equivalent" a ceux des shell (K, C, T...) sous windows ?
J'ai effectivement entendu parlé de python, mais il faut faire des installations, et j'aimerais eviter.

Merci d'avance

b.
0
Armojax
 
Bonjour Benoua,

Je suppose que tu disposes d'Excel ?
Si personne ne te propose autre chose, je peux te faire une macro Excel en VBA. Ça au moins ça ne demande aucune installation.
Dis-moi si je m'y colle ou pas ?

Armojax.
0

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

Posez votre question
random
 
tu n'as pas besoin de programme
tu te mets sous dos (invoite de commande)
puis tu tapes Xcopy /?
tu verras tout est expliqué
et ensuite tu lances ta commande en mode ligne
0
pc75 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Pour faire ce que tu veux sous Windows, le plus adapté et le plus simple est un prog VbScript.
Si tu veux un début de piste, je suis là !
0
benoua
 
Avant tout, merci a tous.

A propos d'Excel, effectivement je l'ai. Si ca ne t'embete pas, je veux bien que "tu t'y colles", c'est vraiment tres sympa. En plus, je suis vraiment curieux de la façon dont ca peut etre fait.

Pour ce qui est du Dos, c'est ce que je fais actuellement :


REM Script de sauvegarde
cls

REM Sauvegarde
REM _____________________________________________________________________________
Echo "Sauvegarde D: -> F: en cours..."

cd D:\User\Work
DIR
echo .>> D:\User\Sauvegarde\Log.txt
echo .>> D:\User\Sauvegarde\Log.txt
echo %Date% >> D:\User\Sauvegarde\Log.txt
echo _________________________>> D:\User\Sauvegarde\Log.txt
xcopy * F:\ /e /y /v /h /r /d >> D:\User\Sauvegarde\Log.txt
goto Error

:CopyAll
xcopy * F:\ /e /y /v /c /h /r /d >> D:\User\Sauvegarde\Log.txt
echo Operation avec erreur !!!! >> D:\User\Sauvegarde\Log.txt
goto End

:Error
goto Answer%ERRORLEVEL%

:Answer0
echo Operation sans erreur >> D:\User\Sauvegarde\Log.txt
Goto End

:Answer1
echo Fichier introuvable >> D:\User\Sauvegarde\Log.txt
Goto CopyAll

:Answer2
echo Operation interrompue par Ctrl-C >>
.
.
.
etc...


Mais mainenant je ne veux pas copier tout ce qui est plus récent, mais ce qui est compris entre 2 dates (dont la date du jour), et la je bloque meme avec l'aide de xcopy.


Pour ce qui est du VBScript, je veux bien un début de piste. Si tu as des petits scripts super basiques a me proposer histoire que je me familiarise un peu ce serait genial. Je vais chercher sur le forum et le net qqs infos, mais je veux bien ton aide...

Merci d'avance

B.
0
pc75 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

1 Utilise la fonction inputBox pour choisir les dates :
Debut = InputBox("Entrer la date de début") 
Fin = InputBox("Entrer la date de fin") 


2 Pointe vers ton répertoire :
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(CheminDuRepertoire)


3 Parcours le répertoire pour tester les dates des fichiers et les copier
Set fc = f.Files
For Each f1 in fc
   if DateDiff("d", f1.DateLastModified, Debut) >= 0 and DateDiff("d", f1.DateLastModified, Fin) < 0 then
      FileSystemObject.CopyFile f1, RepCible
   end if
Next


Je pense que tout ça constitue un vrai début.

PS : Je n'ai pas vérifié si les signes >= et < sont corrects dans la fonction DateDiff

Bon courage
0
benoua
 
Bonjour,

Je teste ca au plus vite.

Merci et Bon Noel !!!

Benoua
0