Decoupe et regroupe fichier

Description

il y a 2 script:
- le premier permet de decouper un fichier dans la taille souhaité dans un inputbox avec comme unité l'octet (ex: pour decouper un fichier de 2 Mo en 2 il faut saisir "1000000" soit 1Mo)
- le deuxieme regoupe les fichiers decoupé en rentrant le nom du fichier datinfo generer par decoupe.vbs

utile pour recuperer un fichier depassant legerement la capacité d'une disquette et la mettre sur 2 disquettes
-Il n'y a pas de limite de taille.

Source / Exemple :


'----------------------------------------------------------------------------
'Auteur    : racattac13
'Version   : 1.0
'Date      : 11/01/2004
'Programme : Decoupe un fichier en fonction de la taille specifié
'----------------------------------------------------------------------------
Dim fs,f,fich,spli,buf,pos,taille,index,fich_dst
index=1

fich = InputBox("Entrez le chemin complet du fichier a decouper","Decoupe by racattac13")
Set fs = CreateObject("Scripting.FileSystemObject") 'creation d'un objet systeme de fichier

If (fs.FileExists(fich)) Or fich<>"" Then
 spli = Split(fich, ".", -1, 1) 'recuperation du chemin complet et
 fich1=spli(0)&".dat" 
 
 set fich_src= fs.OpenTextFile(fich,1) 
 Set inf1 = fs.GetFile(fich) 
 Msgbox "taille : "&inf1.size
 taille = InputBox("Entrez la taille de decoupe du fichier","Decoupe by racattac13")
 if taille ="" then
  taille=1024
 end if
 Call copie()
 
 Msgbox "Fichier "&fich&" decoupé en "&index-1&" parties",0,"C'est fini"
Else
 Msgbox "Ciao",0,"A plus"
 wscript.quit(1)
End if
'-------------------------------------------------------------
Sub copie()
set fich_inf= fs.OpenTextFile(fich1&"info",8,true) 
fich_inf.WriteLine(fich)
Do While fich_src.AtEndOfStream <> True 
  set fich_dst= fs.OpenTextFile(fich1&index,8,true)  
  buf=fich_src.Read(taille)
  fich_dst.Write(buf)
  fich_inf.WriteLine(fich1&index)
  fich_dst.Close
  index=index+1
 Loop
End Sub

'----------------------------------------------------------------------------
'Auteur    : racattac13
'Version   : 1.0
'Date      : 11/01/2004
'Programme : Regroupe un fichier decoupé par Decoupe.vbs
'----------------------------------------------------------------------------
Dim fs,f,fich,buf,fich_dst,eff,info,fs2
index=1

fich = InputBox("Entrez le chemin complet du fichier .datinfo a regrouper","Regroupe by racattac13")
Set fs = CreateObject("Scripting.FileSystemObject") 'creation d'un objet systeme de fichier
Set fs2 = CreateObject("Scripting.FileSystemObject")
If (fs.FileExists(fich)) Or fich<>"" Then
 nom = Split(fich, ".", -1, 1)

 set fich_src= fs.OpenTextFile(fich,1) 
 fich_dst_name=fich_src.ReadLine 
 set fich_dst= fs.OpenTextFile(fich_dst_name,8,true)
 Call copie()
 
eff= Msgbox("Emplacement :"&fich_dst_name&" Voulez vous effacer les fichiers .dat",4,"C'est fini")
fich_src.close
if eff=6 then
   fs.DeleteFile(nom(0)&".dat*")
end if
Else
 Msgbox "Ciao",0,"A plus"
 wscript.quit(1)
End if
'-------------------------------------------------------------
Sub copie()
 
Do While fich_src.AtEndOfStream <> True 
  fich_dst_name2=fich_src.ReadLine 
  set fich_src2= fs.OpenTextFile(fich_dst_name2,1)  
  Set info = fs2.GetFile(fich_dst_name2)
  tail=info.Size
  buf=fich_src2.Read(tail)
  fich_dst.Write(buf)
  
  fich_src2.close
 Loop
End Sub

Conclusion :


il ne devrait normalement pas y avoir de probleme

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.