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
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.