Je cherchais un outil simple pour automatiser le découpage d’un très gros fichier (une VM de 50Go) en une série de petits fichiers afin d’en faciliter le transfert vers un serveur internet.
Bizarrement, j’ai trouvé beaucoup de logiciels gratuits avec des interfaces graphiques mais rien ne fonctionnant depuis la ligne de commande.
Finalement, j’ai utilisé la version JAVA de http://www.hjsplit.org/
La ligne de commande se résume à :
“c:Program Files (x86)Javajre6binjava.exe” -classpath C:HJSplit HJSplit -s262144 “C: HJSplitWin-XP.vhd” C:HJSplit256M
La classe JAVA hjsplit.class (7 Kb) et le fichier à découper sont placés en C:HJSplit
L’option -s262144 demande le decoupage en tronçons de 256Mo.
Le résultat est placé dans C:HJSplit256M
L’option –j permet de reconstruire le fichier original à partir des tronçons.
Vous pouvez aussi utiliser “swiss file knife“
sfk split partsize inputfile [outputfilebase] [-nov[erify]] reads and splits inputfile into output files of specified size. if output files exist already, split asks if it may overwrite; specify -yes to overwrite outputs without asking. partsize syntax: 100000b , 100k = 100000 bytes 2000000k , 2000m , 2g = 2 giga-bytes if outputfilebase is omitted, outputfilenames will be: inputfile.part1 inputfile.part2 inputfile.part3 ... if outputfilebase is given, .part1 is appended to this. sfk split 2g c:bigfish.avi d:transfereasy.avi splits bigfish.avi into easy.avi.part1, .part2 etc. to rejoin the files, use the sfk join command: sfk join d:transfereasy.avi.part1 e:full.avi joins easy.avi.part1, .part2 etc. into full.avi Vous pouvez aussi utiliser la commande GNU split, disponible sous windows avec "core utils" http://www.gnu.org/software/coreutils/