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

  1. 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
  2. jisisv Messages postés 3678 Statut Modérateur 936
     
    Python semble raisonnable non?

    Gates gave you the windows.
    GNU gave us the whole house.(Alexandrin)
    0
  3. 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. pc75 Messages postés 14 Statut Membre
     
    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
  8. 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
  9. pc75 Messages postés 14 Statut Membre
     
    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
  10. benoua
     
    Bonjour,

    Je teste ca au plus vite.

    Merci et Bon Noel !!!

    Benoua
    0