Page 1 sur 1

Petit code simple : Merci de votre aide.

Publié : mer. 11/août/2004 22:53
par bems
Bonjour,

J'aimerais crée un exécutable qui copierais un fichier d'un répertoire sur un autre répertoire. avec écrassement automatique:

Exemple: copy c:/exemple.mdb sur d:/exemple.mdb


Merci de votre aide.

Publié : mer. 11/août/2004 23:20
par julien
utilise la commande copy que tu trouveras dans l'aide

Publié : mer. 11/août/2004 23:45
par Flype
je t'ai fais un petit truc
il y a à peu près tout ce qu'il te faut savoir :

Code : Tout sélectionner

#SEP = "="

; Ouvre la console

If OpenConsole()=#Null
  End
EndIf

; Affiche l'aide dans la console

PrintN("Help")
PrintN("Copy SRC=<SourceFilename> DST=<DestinationFilename>")
PrintN("Copy SRC=C:\dummy.bin DST=C:\dummy.txt")
PrintN("")

Procedure.b FileExist(file$)
  
  ; Vérifie l'existance d'un fichier
  
  FichierId.l = ReadFile(#PB_Any,file$)
  If FichierId
    CloseFile(FichierId)
    ProcedureReturn #True
  EndIf
  
EndProcedure

; Lecture du 1er argument

Arg$=ProgramParameter()
If Arg$
  
  ; Analyse - 'SRC=filename'
  
  If "SRC"=UCase(StringField(Arg$,1,#SEP))
    
    SrcFileName$=StringField(Arg$,2,#SEP)
    PrintN("SRC="+SrcFileName$)
    
    If FileExist(SrcFileName$)
    
      ; Lecture du 2ème argument
      
      Arg$=ProgramParameter()
      If "DST"=UCase(StringField(Arg$,1,#SEP))
        
        DstFileName$=StringField(Arg$,2,#SEP)
        PrintN("DST="+DstFileName$)
        
        If FileExist(DstFileName$)
          PrintN("<info> File not found")
        EndIf
        
        ; Copie du fichier - L'écrasement est d'emblée supporté
        
        If CopyFile(SrcFileName$,DstFileName$) 
          PrintN("<info> File succesfully copied")
        Else
          PrintN("<error> File cannot be copied")
        EndIf
        
      Else
        
        PrintN("DST="+"<error> ")
        
      EndIf
    
    Else
      
      PrintN("<error> File not found")
      
    EndIf
    
  Else
    
    PrintN("SRC="+"<error>")
    
  EndIf

Else
  
  PrintN("<error> No arguments")
  
EndIf

Debug "fin"
End
ensuite n'oublie pas de compiler le programme en mode 'console' et non pas 'windows' et puis j'ai pas trop testé mais çà semble être correct.
tu peux simplifier ou 'complexifier' à ta guise :wink: