Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[MPW] Copier des fichiers avec MPW

5 réponses
Avatar
Christophe Franco
Petite question pour ceux qui se souviennent encore de MPW (s'il en
reste...) : y a-t-il une commande pour copier des fichiers ? J'ai bien
la commande "move" pour déplacer, "copy" pour copier la sélection dans
le presse papier, mais rien pour copier des fichiers, et ça me parait
tellement surprenant que je me dis que j'ai du louper quelque chose.

5 réponses

Avatar
phpinfo
Christophe Franco wrote:

Petite question pour ceux qui se souviennent encore de MPW (s'il en
reste...)


M'en souvient vaguement... C'était y'a longtemps ;-)

y a-t-il une commande pour copier des fichiers ? J'ai bien
la commande "move" pour déplacer, "copy" pour copier la sélection dans
le presse papier, mais rien pour copier des fichiers, et ça me parait
tellement surprenant que je me dis que j'ai du louper quelque chose.


Je pense bien qu'il y une telle commande...

et hop :
<http://developer.apple.com/tools/mpw-tools/commandref/duplicate.html>

Trouvé via google en 30 secondes avec "mpw copy file command"

Tu pourrais faire un p'tit effort Christophe ;-)
Avec MPW y va falloir de toute façon...
--
Pierre-Alain Dorange

Vidéo, DV et QuickTime pour Mac <www.garage-video.fr.st>
Clarus, the DogCow <www.clarus.mac-fan.com>

Avatar
Christophe Franco
Pierre-Alain Dorange wrote:

Christophe Franco wrote:


y a-t-il une commande pour copier des fichiers ? J'ai bien
la commande "move" pour déplacer, "copy" pour copier la sélection dans
le presse papier, mais rien pour copier des fichiers, et ça me parait
tellement surprenant que je me dis que j'ai du louper quelque chose.



Je pense bien qu'il y une telle commande...

et hop :
<http://developer.apple.com/tools/mpw-tools/commandref/duplicate.html>

Trouvé via google en 30 secondes avec "mpw copy file command"

Tu pourrais faire un p'tit effort Christophe ;-)
Avec MPW y va falloir de toute façon...


Bon, ben je ne sais pas comment j'ai fait pour ne pas la voir, j'avais
pourtant imprimé toute l'aide des commandes...

Ca me servira pas d'ailleurs, parce que c'est pas mieux que le finder ou
les divers utilitaires de copie de fichiers que j'ai essayé, pour mon
problème : copier le contenu d'un disque HFS+ (250000 fichiers de 50Ko
environ chacun, répartis dans 30 dossiers à raison de 500 à 18000
fichiers par dossier), vers un disque Fat32. Dans tous les cas, le
transfert commence bien, rapidement (en FireWire), mais après quelques
centaines voir quelques milliers de fichiers dans le même dossier, ça
s'écroule lamentablement à environ 1 fichier par seconde...

Je testerai ça sous Mac OS X ce soir, des fois qu'avec un cp bien senti
il se sente mieux...


Avatar
Pascal Bourguignon
Christophe Franco writes:
Ca me servira pas d'ailleurs, parce que c'est pas mieux que le finder
ou les divers utilitaires de copie de fichiers que j'ai essayé, pour
mon problème : copier le contenu d'un disque HFS+ (250000 fichiers de
50Ko environ chacun, répartis dans 30 dossiers à raison de 500 à 18000
fichiers par dossier), vers un disque Fat32. Dans tous les cas, le
transfert commence bien, rapidement (en FireWire), mais après quelques
centaines voir quelques milliers de fichiers dans le même dossier, ça
s'écroule lamentablement à environ 1 fichier par seconde...


18000 par répertoire, ça fait beaucoup.

Les temps d'accès dans les répertoires sont souvent en O(n) avec n
proportionnel au nombre d'entrées dans le répertoire.

Donc une copie d'un grand nombre de fichiers dans un répertoire va se
faire en O(n^2), d'où lenteur quand on dépasse les quelques dizaines.

Ce serait mieux de répartir dans des sous répertoires. Par exemple, si
les premières lettres des noms de fichiers sont réparties
équitablement:

#!/bin/bash
while read source ; do
fichier=$(basename $source)
premiere_lettre=${fichier:0:1}
deuxieme_lettre=${fichier:1:1}
mkdir -p $destination/$premiere_lettre/$deuxieme_lettre
cp $source $destination/$premiere_lettre/$deuxieme_lettre/$fichier
done < liste_des_fichiers_a_copier


--
__Pascal_Bourguignon__ http://www.informatimago.com/
There is no worse tyranny than to force a man to pay for what he doesn't
want merely because you think it would be good for him.--Robert Heinlein
http://www.theadvocates.org/

Avatar
cfranco
Pascal Bourguignon wrote:

Christophe Franco writes:
Ca me servira pas d'ailleurs, parce que c'est pas mieux que le finder
ou les divers utilitaires de copie de fichiers que j'ai essayé, pour
mon problème : copier le contenu d'un disque HFS+ (250000 fichiers de
50Ko environ chacun, répartis dans 30 dossiers à raison de 500 à 18000
fichiers par dossier), vers un disque Fat32. Dans tous les cas, le
transfert commence bien, rapidement (en FireWire), mais après quelques
centaines voir quelques milliers de fichiers dans le même dossier, ça
s'écroule lamentablement à environ 1 fichier par seconde...


18000 par répertoire, ça fait beaucoup.

Les temps d'accès dans les répertoires sont souvent en O(n) avec n
proportionnel au nombre d'entrées dans le répertoire.

Donc une copie d'un grand nombre de fichiers dans un répertoire va se
faire en O(n^2), d'où lenteur quand on dépasse les quelques dizaines.


Je ne suis pas si certain que ça explique tout quand même, parce que ces
mêmes 250000 fichiers, quand je les copie d'un disque HFS+ vers un autre
disque HFS+, sous Mac OS 9, ça marche fort bien, en 2h c'est fait. C'est
vers un disque Fat32 que ça coince (j'ai essayé aussi vers un NTFS en
passant à travers un réseau local, même chose)

Ou alors si quelqu'un connait un moyen simple de monter un disque HFS+
de manière transparente sur un PC sous W2000...

--
Christophe Franco


Avatar
cfranco
Christophe Franco wrote:

Je ne suis pas si certain que ça explique tout quand même, parce que ces
mêmes 250000 fichiers, quand je les copie d'un disque HFS+ vers un autre
disque HFS+, sous Mac OS 9, ça marche fort bien, en 2h c'est fait. C'est
vers un disque Fat32 que ça coince (j'ai essayé aussi vers un NTFS en
passant à travers un réseau local, même chose)


Bon, ben j'ai finalement trouvé un moyen convenable (à peu près), en
utilisant deux machines, un G4 sous Mac OS X avec le disque HFS+ dessus
(la source), en réseau 100BT avec un PC sous W2000 portant le disque
Fat32 (les deux disques en FireWire). Le disque Fat32 est monté sur le
mac à travers un partage de fichiers windows. Et en copiant avec un cp
-r, extrèmement important, sinon bonjour les fichiers invisibles, ça
doublerait le nombre total de fichiers...

Ca prend quand même plus longtemps, en tout de l'ordre de 4h, mais
apparamment c'est le processeur du PC qui limite, il sature assez vite
au bout de quelques fichiers, mais ça tient quand même la charge.
J'aurais du essayer avec un PC sous Linux avec Samba, ça aurait sans
doute été plus rapide, mais j'en ai pas sous la main...

--
Christophe Franco