Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1488 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  qui pourrait me faire ou me trouver ce petit utilitaire?!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

qui pourrait me faire ou me trouver ce petit utilitaire?!

n°978037
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 09-12-2002 à 19:01:53  profilanswer
 

hello...
je ne sais pas si certain d'entre vous qui viennent ici.. savent programmer... moi je ne sais pas....
 
alors je demande...
 
j'aimerai pouvoir copier (déplacer donc "couper" )
mes dossier mais en les remmettant dans un ordre...  
logique....
 
je m'explique:
on fait un petit dossier, on y mets des fichiers...
en suite on crée un 2ème puis un 3ème dossier pour y mettre d'autre fichier...
mais de temps en temps on remets de nouveau fichiers dans le premier (et vieux) dossier....
 
ce qui fait que rien n'est dans l'ordre... et ce n'est pas le défrag qui arrange ça!!!
 
ce que j'aimerai c'est les déplacer...
et que cet utilitaire prenne en compte... l'ordre des dossiers - fichiers "alphabétique"
donc après déplacement que les choses soient enfin "rengées"!!!
pour que les têtes de lectures ne passent plus leur temps dans des déplacement inutiles et fatiguant...
 
voilà... alors si vous avez un truc à me proposer

mood
Publicité
Posté le 09-12-2002 à 19:01:53  profilanswer
 

n°978044
antp
Super Administrateur
Champion des excuses bidons
Posté le 09-12-2002 à 19:07:08  profilanswer
 

tu déplaces tout sur une autre partition puis tu redéplace vers la partition d'origine


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°978050
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 09-12-2002 à 19:13:20  profilanswer
 

windows quand il déplace ne respecte pas l'ordre alphabétique... il fait en fonction des derniers installés!!!!
donc dans l'ordre du temps...
j'ai pas arrêter de faire des transferts complet de dossiers ces derniers temps d'un HDD à un autre...(pas d'une lettre lecteur à une autre...)
 
essayes tu verras....  
je ne sais même pas si les antivirus... font le check dans l'ordre du temps??

n°978051
felix158
glop glop
Posté le 09-12-2002 à 19:13:51  profilanswer
 

nan ça marche pas
 
il les recopie dans le sens ou il les lit
 
(déjà testé)

n°978060
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 09-12-2002 à 19:21:27  profilanswer
 

pas compris?!
 
dans le sens où il les lit?!
 
tu veux dire qu'il lit ce qui se trouve devant sa tête en fonction de son déplacement sur le HDD...  
 
et non en s'occupant de l'ordre alphabètique?

n°978278
antp
Super Administrateur
Champion des excuses bidons
Posté le 09-12-2002 à 22:09:44  profilanswer
 

ça dépend avec quoi et comment on copie
suffit de faire un drag & drop de l'ensemble de la sélection des fichiers plutôt que tu dossier lui même
 

bitonio6 a écrit :


essayes tu verras....  


 
justement j'ai essayé :sarcastic:
mais faut pas juste essayer, faut aussi réfléchir à la logique des systèmes de copie :p


Message édité par antp le 09-12-2002 à 22:11:31

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°978527
-Marcus-
Sorry, but you are dismissed!
Posté le 10-12-2002 à 02:06:38  profilanswer
 

antp a écrit :

ça dépend avec quoi et comment on copie
suffit de faire un drag & drop de l'ensemble de la sélection des fichiers plutôt que tu dossier lui même
 
 
 
justement j'ai essayé :sarcastic:
mais faut pas juste essayer, faut aussi réfléchir à la logique des systèmes de copie :p


 
a mon avis ca marche  
pour la defrag la copie d un disk a l autre c connu mais la ton probleme est un peu plus complexe mais je dirai comme antp

n°978831
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 10-12-2002 à 13:26:41  profilanswer
 

comment ça?! drag & drop`???
tu veux faire une recherche avant et tout sélectionner?!
et si j'ai plus de 20'000fichier dans 4'000 Dossiers?!
 
je suis sûr que l'on peut créer un programme qui ferait le surveillant et qui s'occuperait de donner à copier (ou couper) les choses dans un ordre logique....

n°978854
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 13:51:24  profilanswer
 

bah oui c'est faisable... mais bon faut trouver quelqu'un qui a rien d'autre à faire :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°979619
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 11-12-2002 à 00:38:24  profilanswer
 

ben ce serait bien d'en trouver un!!!!

mood
Publicité
Posté le 11-12-2002 à 00:38:24  profilanswer
 

n°981660
edma
Posté le 12-12-2002 à 17:45:16  profilanswer
 

Voici une macro que tu peux utiliser sous excel .
 
Oups !! petite erreur dans la macro .  
 
elle ne classe bien que s'il y a moins de 10 dossiers/sous-dossiers (faut toujours tester correctement :D) . je l'ai donc supprimée et remplacée par une version OK listée dans un reply plus bas.  
 
 
 
les dossiers OLD et NEW sont indiqués pour l'exemple.
par contre pour des raisons de sécurité il faut que le dossier NEW n'existe pas et soit éventuellement supprimé manuellement avant de lancer la macro (la macro ne l'écrase pas)  


Message édité par edma le 13-12-2002 à 12:12:01
n°981730
Faxone
Posté le 12-12-2002 à 18:55:37  profilanswer
 

Avec windows/total commander www.ghisler.com, tu utilises la fonction de synchronisation de répertoire dans le menu "commandes". Tu mets d'un coté le répertoire "racine", de l'autre le répertoire de destination, tu demande la comparaison. Evidemment, il va trouver qu'il faut tout synchroniser, ce que tu fais immédiatement, et il te copie les répertoire et les fichiers par ordre alphabétique.
En plus, il sait faire plein d'autres trucs ce logiciel.

n°981807
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 12-12-2002 à 20:12:17  profilanswer
 

donc pour le programme...
ce truc va me copier mes dossiers classés dans l'ordre...
sur le hdd source... mais qui en réalité est ranger en mettant dessous les fichiers plus récents...
 
en me transporant le tout vers le hdd de destination...
en tenant compte cette fois de l'ordre alphabétique du classement de mes dossiers?
 
Dossier A --> sous dossier A --> sous-sous dossier A -- Fichier a-->b--->c
 
Dossier A --> sous dossier A --> sous-sous dossier B -- Fichier a-->b-->c  
 
on est d'accord?


Message édité par bitonio6 le 12-12-2002 à 20:12:55
n°982346
edma
Posté le 13-12-2002 à 10:11:02  profilanswer
 

je pense qu'on est d'accord / néanmoins je donne deux exemples qui illustrent deux manières différentes de voir les choses
 
1 ere manière : création de tous les dossiers/sous-dossiers puis recopie de tous les fichiers selon la séquence ci-dessous :
 
dossier A
dossier A\C
dossier A\C\H
dossier A\K  
dossier A\K\B
dossier A\K\Z (peut être vide)
dossier A\U  
fichier A\aaaaaaa
fichier A\bbbbbbbb
fichier A\ffffffff
fichier A\wwwwwww
fichier A\C\aaaaaa
fichier A\C\lllllll
fichier A\C\zzzzzzzzz
fichier A\C\H\bbbbbbbb
fichier A\C\H\uuuuuuu
fichier A\K\B\aaa
fichier A\K\B\bbb
fichier A\U\aaaa
fichier A\U\gggggg
 
 
 
 
2 ème manière : mixage des créations des dossiers/sous-dossiers et des recopies de tous les fichiers en triant uniquement sur le nom (et non plus sur le type en majeur)  
 
dossier A
fichier A\aaaaaaa
fichier A\bbbbbbbb
fichier A\ffffffff
fichier A\wwwwwww
dossier A\C
fichier A\C\aaaaaa
fichier A\C\lllllll
fichier A\C\zzzzzzzzz
dossier A\C\H
fichier A\C\H\bbbbbbbb
fichier A\C\H\uuuuuuu
dossier A\K  
dossier A\K\B
fichier A\K\B\aaa
fichier A\K\B\bbb
dossier A\K\Z (peut être vide)
dossier A\U  
fichier A\U\aaaa
fichier A\U\gggggg
 
 
la macro proposée dans le reply ci-dessous offre les deux possibilités.
 
A+


Message édité par edma le 13-12-2002 à 12:15:47
n°982455
edma
Posté le 13-12-2002 à 12:06:20  profilanswer
 

Oups !! petite erreur dans la macro proposée plus haut(et donc supprimée). elle ne classait bien qu'avec moins de 10 dossiers/sous-dossiers.
 
Voici une version sans limitation autre que celle d'Excel (nb de lignes max )
 
'============
 
Sub Reclass()
'
' Reclass Macro
' Macro enregistrée le 13/12/2002 par Deffaud Edgard
'
 
 
Class_type = MsgBox("voulez-vous créer d'abord tous les dossiers/sous-dossiers" & vbLf & "puis" & vbLf & _
"recopier les fichiers", vbYesNo, "reclassement" )
Do
    In_path = InputBox("chemin du dossier d'entrée à reclasser", "reclassement", "C:\windows\bureau\old\" )
    If In_path = "" Then Exit Sub
    If Right(In_path, 1) <> "\" Then In_path = In_path & "\"
    If Dir(In_path) = "" Then MsgBox "Le dossier à reclasser ==> " & In_path & vbLf & "n'existe pas, merci de corriger "
Loop Until Dir(In_path) <> ""
 
 
Outpath = InputBox("chemin du dossier de sortie à recréer", "reclassement", "C:\windows\bureau\new\" )
If Outpath = "" Then Exit Sub
If Right(Outpath, 1) <> "\" Then Outpath = Outpath & "\"
If Dir(Outpath) <> "" Then
    MsgBox "Le dossier de sortie ==> " & Outpath & vbLf & "existe déjà, merci de le supprimer "
    Exit Sub
End If
i_niveau = 0 ' profondeur des dossiers
i_row = 2
 
'RAZ colonnes de travail
' on peut supprimer uniquement de "A à D" sauf que  
' ":" suivi de "D" donne sur le forum :D  
' jai donc mis de "A à E"
Columns("A:E" ).Select  
    Selection.Delete Shift:=xlToLeft
 
Cells(1, 1) = "dir"
Cells(1, 2) = 0
Cells(1, 3) = In_path
Cells(1, 4) = Outpath
 
Do While Cells(1, 1) = "dir"
    i_niveau = i_niveau + 1
    Cells(1, 2) = i_niveau
    In_path = Cells(1, 3)
    Outpath = Cells(1, 4)
     
    MyName = Dir(In_path, vbDirectory)
    Do While MyName <> ""   ' Commence la boucle.
        ' Ignore le répertoire courant et le répertoire
        ' contenant le répertoire courant.
        If MyName <> "." And MyName <> ".." Then
            Rows(i_row).Insert
            Cells(i_row, 2) = i_niveau
            ' Utilise une comparaison au niveau du bit pour
            ' vérifier que MyName est un répertoir
            If (GetAttr(In_path & MyName) _
                And vbDirectory) = vbDirectory Then
                ' représente un répertoire.
                Cells(i_row, 1) = "dir"
                Cells(i_row, 3) = In_path & MyName & "\"
                Cells(i_row, 4) = Outpath & MyName & "\"
                i_row = i_row + 1
               
            Else
                ' représente un fichier
                Cells(i_row, 1) = "file_" ' & i_niveau
                Cells(i_row, 3) = In_path & MyName
                Cells(i_row, 4) = Outpath & MyName
                i_row = i_row + 1
            End If
        End If
        MyName = Dir    ' Extrait l'entrée suivante.
Loop
Cells(1, 1) = "Dir_Ok" 'indication que le dossier a été traité
Worksheets(1).Range("A1" ).Sort _
        Key1:=Worksheets(1).Columns("A" ), Key2:=Worksheets(1).Columns("B" ), Key3:=Worksheets(1).Columns("C" )
 
Loop
 
' reclassement en fct du choix du type
If Class_type = vbNo Then
       Worksheets(1).Range("A1" ).Sort _
    Key1:=Worksheets(1).Columns("B" ), Key2:=Worksheets(1).Columns("A" ), Key3:=Worksheets(1).Columns("C" )
End If
 
i = 1
Do Until Cells(i, 1) = ""
If Left(Cells(i, 1), 3) = "Dir" Then
    MkDir (Cells(i, 4))
Else
    FileCopy Cells(i, 3), Cells(i, 4)
End If
i = i + 1
Loop
 
End Sub


Message édité par edma le 13-12-2002 à 12:20:34
n°982765
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 13-12-2002 à 17:12:29  profilanswer
 

Edma a écrit :

je pense qu'on est d'accord / néanmoins je donne deux exemples qui illustrent deux manières différentes de voir les choses
 
1 ere manière : création de tous les dossiers/sous-dossiers puis recopie de tous les fichiers selon la séquence ci-dessous :
 
dossier A
dossier A\C
dossier A\C\H
dossier A\K  
dossier A\K\B
dossier A\K\Z (peut être vide)
dossier A\U  
fichier A\aaaaaaa
fichier A\bbbbbbbb
fichier A\ffffffff
fichier A\wwwwwww
fichier A\C\aaaaaa
fichier A\C\lllllll
fichier A\C\zzzzzzzzz
fichier A\C\H\bbbbbbbb
fichier A\C\H\uuuuuuu
fichier A\K\B\aaa
fichier A\K\B\bbb
fichier A\U\aaaa
fichier A\U\gggggg
 
 
 
 
2 ème manière : mixage des créations des dossiers/sous-dossiers et des recopies de tous les fichiers en triant uniquement sur le nom (et non plus sur le type en majeur)  
 
dossier A
fichier A\aaaaaaa
fichier A\bbbbbbbb
fichier A\ffffffff
fichier A\wwwwwww
dossier A\C
fichier A\C\aaaaaa
fichier A\C\lllllll
fichier A\C\zzzzzzzzz
dossier A\C\H
fichier A\C\H\bbbbbbbb
fichier A\C\H\uuuuuuu
dossier A\K  
dossier A\K\B
fichier A\K\B\aaa
fichier A\K\B\bbb
dossier A\K\Z (peut être vide)
dossier A\U  
fichier A\U\aaaa
fichier A\U\gggggg

 
la macro proposée dans le reply ci-dessous offre les deux possibilités.
 
A+


 
c'est cette fa4on qui est la plus proche...
le but c'est que ça se fasse dans l'horizontale des dossiers et non la verticale...
d'ailleurs comme je l'avais expliquer en dessus....
 
quand tu fais l'arbre de l'explorateur
et qe tu ouvre tout les [+]
tu en vois un qui en ouvre un autre qui en ouvre un autre et ainsi de suite....

n°989801
edma
Posté le 19-12-2002 à 10:18:14  profilanswer
 

Oki, dans ce cas tu réponds non à la première question posée par la macro...

n°990784
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 20-12-2002 à 00:59:38  profilanswer
 

ben pour l'instant je n'ai pas testé...
et en plus je ne sais pas comment voir les résultats (si il copie dans le bon sens ou si il en fait encore à sa tête)
 
pour moi il y a un rangement horizontal et vertical des fichiers et dossiers...
 
le but et de faire horizontal....
tout ce qui est de gauche à droite avant de passer à la ligne suivante...
 
(c'est à tester, peut-être que ce n'est pas super, mais je pense que ce serait l'ideal)
 
-Dossier A (forcement c'est lui qui contient la suite)
-sous dossier A De A  
-sous dossier A Du sous dossier A de A  
(ouh la! j'ai déjà mal à la tête)
 
-fichiers du sous-dossier A du sous-dossier A de A
-ensuite sous dossier B du sous dossier A de A
-fichiers du sous-dossier B du sous dossier A de A
 plus de sous-sous-dossier de A
-fichiers du sous dossier A de A
plus de sous dossier de A
-sous dossier B de A
 
Tu vois le trucs...
 
tu crée en horizontal et tu remplis et ferme en premier ce qui se trouve le plus à droite  
avant de revenir sur la gauche, pour t'interresser au dossier principal suivant... voilà :hello:

n°990865
edma
Posté le 20-12-2002 à 09:34:11  profilanswer
 

Je confirme : tu réponds non à la 1ère question (voulez-vous créer d'abord tous les dossiers/sous-dossiers..)
 
La création de dossiers et la recopie des fichiers se fait par élément par élément en respectant leur ordre alphabétique (la séquence de création/recopie est pilotée par les colonnes du tableur Excel (tu peux donc vérifier le bon ordre)
- MkDir (Cells(i, 4)) crée le répertoire dont le nom se trouve dans la colonne 4 (un nom par ligne)
 
- FileCopy Cells(i, 3), Cells(i, 4) recopie les fichiers indiqués dans la colonne 3 vers les fichiers indiqués dans la colonne 4 (toujours un  nom par ligne)
 
La seule façon de vérifier le résultat concret est peut être de chronométrer les mêmes opérations sur le dossier de départ puis sur le dossier d'arrivée (ou d'enregister le bruit des déplacements du DD :D)  

n°991573
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 20-12-2002 à 20:19:23  profilanswer
 

tu sais si il y a moyen de vérifier comment les infos sont contenues sur un HDD ou un CD?
 
sinon je ne fais pas de programmation...
 
je demandais si quelqu'un pouvait me faire un petit "EXE"!!
voilà mais merci de ton aide ça fait plaisir!!!

n°994262
edma
Posté le 23-12-2002 à 10:19:48  profilanswer
 

Non je ne connais pas les sructures des CD et HDD
 
Pour la programmation, la macro que  j'ai indiquée est prête à l'emploi.
 
Pour te faciliter la tâche je t'envoie un fichier Excel prêt à être exécuté et qui contient déjà la macro
 
il suffit que tu ouvres avec Excel (tu coches la case activer les macros lors de l'ouverture du fichier si nécessaire), puis tu cliques sur le Bouton "GO" ;)

n°995200
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 24-12-2002 à 00:37:31  profilanswer
 

et on ne peut pas imaginer... un petit "exe" et une interface?!

n°995205
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-12-2002 à 00:38:47  profilanswer
 

pas avec du VBA pour Excel


Message édité par antp le 24-12-2002 à 00:38:51

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°995330
edma
Posté le 24-12-2002 à 09:48:37  profilanswer
 

je t'ai envoyé en mail un fichier excel avec un "bouton" pour exécuter la macro (ou le programme si tu préfères). il suffit donc que tu aies excel
 
Je ne garantis pas l'absence absolue de bug, notamment si le nb de fichiers atteint les limites d'excel, j'ai en ai déjà corrigé plusieurs.. fichiers cachés, etc,  
 
par contre :
 1 - je garantie qu'il n'y a aucun risque pour les dossiers et fichiers à reclasser....  
 2 - c'est sûr c'est pas le pied, c'est tres long. un vrai programme serait plus performant
 3 - j'ai constaté que si on recopie une deuxième fois le dossier créé par une première exécution, alors c'est beaucoup plus rapide, ce qui démontre bien l'intérêt du classement des fichiers
 
 
Si une âme charitable et compétente veut faire un vrai programme je mets ci-dessous la dernière version de la macro (je pense que la cinématique est intéressante)
 
=======
 
Sub Reclass()
'
' Reclass Macro
' Macro enregistrée le 13/12/2002 par Deffaud Edgard
' permet de recopier un dossier avec ses sous-dossiers en respectant physiquement l'ordre alphabétque
'
' ce qui permettra d'optimiser toute lecture du contenu du dossier, triée par ordre alphabétique
 
 
Class_type = MsgBox("voulez-vous créer d'abord tous les dossiers/sous-dossiers" & vbLf & "puis" & vbLf & _
"recopier les fichiers", vbYesNo + vbDefaultButton2, "reclassement" )
Do
    In_path = InputBox("chemin du dossier d'entrée à reclasser" & vbLf & "par exemple :", "reclassement", "C:\windows\bureau\old\" )
    If In_path = "" Then Exit Sub
    If Right(In_path, 1) <> "\" Then In_path = In_path & "\"
    If Dir(In_path, vbDirectory) = "" Then MsgBox "Le dossier à reclasser ==> " & In_path & vbLf & "n'existe pas, merci de corriger "
Loop Until Dir(In_path, vbDirectory) <> ""
 
 
Outpath = InputBox("chemin du dossier de sortie à recréer" & vbLf & "par exemple :", "Recopie classée", "C:\windows\bureau\new\" )
If Outpath = "" Then Exit Sub
If Right(Outpath, 1) <> "\" Then Outpath = Outpath & "\"
If Dir(Outpath, vbDirectory) <> "" Then
    MsgBox "Le dossier de sortie ==> " & Outpath & vbLf & "existe déjà, merci de le supprimer "
    Exit Sub
End If
i_niveau = 0 ' profondeur des dossiers
i_row = 2
 
'RAZ colonnes de travail pour plus de sécurité  
Columns("A:E" ).Select ' on peut se limiter de "A" à "D" :D
Selection.Delete Shift:=xlToLeft
 
Cells(1, 1) = "dir"
Cells(1, 2) = 0
Cells(1, 3) = In_path
Cells(1, 4) = Outpath
 
Do While Cells(1, 1) = "dir"
    i_niveau = i_niveau + 1
    Cells(1, 2) = i_niveau
    In_path = Cells(1, 3)
    Outpath = Cells(1, 4)
     
    MyName = Dir(In_path, vbDirectory + vbHidden + vbNormal + vbSystem)
    Do While MyName <> ""   ' Commence la boucle.
        ' Ignore le répertoire courant et le répertoire
        ' contenant le répertoire courant.
        If MyName <> "." And MyName <> ".." Then
            Rows(i_row).Insert
            Cells(i_row, 2) = i_niveau
            ' Utilise une comparaison au niveau du bit pour
            ' vérifier que MyName est un répertoir
            If (GetAttr(In_path & MyName) _
                And vbDirectory) = vbDirectory Then
                ' représente un répertoire.
                Cells(i_row, 1) = "dir"
                Cells(i_row, 3) = In_path & MyName & "\"
                Cells(i_row, 4) = Outpath & MyName & "\"
                i_row = i_row + 1
               
            Else
                ' représente un fichier
                Cells(i_row, 1) = "file_" ' & i_niveau
                Cells(i_row, 3) = In_path & MyName
                Cells(i_row, 4) = Outpath & MyName
                i_row = i_row + 1
            End If
        End If
        MyName = Dir    ' Extrait l'entrée suivante.
Loop
Cells(1, 1) = "Dir_Ok" 'indication que le dossier a été traité
Worksheets(1).Range("A1" ).Sort _
        Key1:=Worksheets(1).Columns("A" ), Key2:=Worksheets(1).Columns("B" ), Key3:=Worksheets(1).Columns("C" )
 
Loop
 
' reclassement en fct du choix du type
If Class_type = vbNo Then
       Worksheets(1).Range("A1" ).Sort _
    Key1:=Worksheets(1).Columns("B" ), Key2:=Worksheets(1).Columns("A" ), Key3:=Worksheets(1).Columns("C" )
End If
' compteur de création de dossiers
i_Dir = -1 ' on ne copte pas le dossier de plus haut niveau
' compteur de recopie de fichiers
i_File = 0
 
i = 1
Do Until Cells(i, 1) = ""
    If Left(Cells(i, 1), 3) = "Dir" Then
        MkDir (Cells(i, 4))
        i_Dir = i_Dir + 1
    Else
        FileCopy Cells(i, 3), Cells(i, 4)
        i_File = i_File + 1
    End If
    i = i + 1
Loop
 
MsgBox "nombre de dossiers créés  : " & i_Dir & vbCrLf & _
        "nombre de fichiers copiés : " & i_File, vbOKOnly, "Recopie classée"
 
End Sub
 
 


Message édité par edma le 24-12-2002 à 09:59:51
n°996326
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 25-12-2002 à 11:39:28  profilanswer
 

je ne m'y connais pas assez en programmation...
mais je peux te dire en gros... que tu cherches trop loins...
 
je pense qu'une simple action de contrôle sur ce qui part... (copier)
suffirait..
il suffit de prendre les choses dans l'ordre que je t'ai indiqué...
 
pour le rest (coller) je pense que si il les prends dans le bon ordre il ne peut que les déposer en suivant!!!
 
c'est un peu comme définir l'ordre de la musique sur un CD audio...
 
il faut juste expliquer à l'ordinateur comment gérer l'ordre...
 
par exemple:
quand on classe des fichiers qui contiennent dans le nom... une date... il faut classer comme des anglais... "année,Mois, Jour"
sinon on ne peut pas les avoir dans l'ordre croissant!!!
parce que il les classera d'abord dans l'ordre de jour...
le 17 décembre 2002 sera pour lui plus jeune que le 19 octobre 1997...
 
alors nous aussi nous devons apprendre comment on classe les dossiers et fichiers....
 
je crois que windows gère très bien l'ordre alphabétique...
donc lui dire de copier dans cette ordre en y rajoutant... l'ordre horizontal.... récursif (je crois que c'est comme ça que l'on dit, mais je n'en suis pas sûr)
 
et c'est à windows de créer les fichiers qui sont nouveaux dans leur destination...
mais je ne veux pas qu'il crée d'abord les dossiers et sous-dossiers, ça ce n'est pas juste non plus....
ça crée un squelette... qui par la suite va s'habiller...
 
Dossiers 24 et sous-dossiers 6'675 sur 3 niveaux...
je veux ouvrir le sous dossier qui se trouve dans le 13ème dossier du 15ème sous dossier de premier niveau du 9ème sous-sous-dossier de 2ème niveau et 3ème sous-sous-sous-dossier de 3ème niveaux...
à première vue ça à l'air juste.. mais en Hardware... les dossiers et sous dossiers seront en premier.. suivi en vrack des fichiers de tous les dossiers et sous-dossiers!!
 
alors que ce que je veux c'est:
 
01= D[1]->SD[1]->SSD[1]->SSSD[1]->SSSSD[1]->Fichiers
02= D[1]->SD[1]->SSD[1]->SSSD[1]->SSSSD[2]->Fichiers
03= D[1]->SD[1]->SSD[1]->SSSD[1]->Fichiers
04= D[1]->SD[1]->SSD[1]->SSSD[2]->SSSSD[1]->Fichiers
05= D[1]->SD[1]->SSD[1]->SSSD[2]->SSSSD[2]->Fichiers
06= D[1]->SD[1]->SSD[1]->SSSD[2]->Fichiers
07= D[1]->SD[1]->SSD[1]->Fichiers
08= D[1]->SD[2]->SSD[1]->SSSD[1]->SSSSD[1]->Fichiers
09= D[1]->SD[2]->SSD[1]->SSSD[1]->SSSSD[2]->Fichiers
10= D[1]->SD[2]->SSD[1]->SSSD[1]->Fichiers
11= D[1]->SD[2]->SSD[1]->Fichiers
12= D[1]->SD[2]->Fichiers
13= D[1]->Fichiers
14= D[2]->SD[1]->SSD[1]->SSSD[1]->SSSSD[1]->Fichiers
 
Voilà comment j'imagine cela...
 
Ps. quelqu'un peu me dire à quoi sert "diskcopy.dll" et "diskcopy.bat" ?


Message édité par bitonio6 le 25-12-2002 à 11:45:00
n°996329
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-12-2002 à 11:40:20  profilanswer
 

bitonio6 a écrit :


Ps. quelqu'un peu me dire à quoi sert "diskcopy.dll" et "diskcopy.bat" ?


 
à faire des copies de disquettes


Message édité par antp le 25-12-2002 à 11:40:47

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°996446
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 25-12-2002 à 13:59:17  profilanswer
 

ah bon... et pourquoi a-t-il besoin d'un utilitaire pour faire ça?!
 
sinon il n'y a pas un utilitaire pour faire des copier-coller?

n°996731
antp
Super Administrateur
Champion des excuses bidons
Posté le 25-12-2002 à 20:36:18  profilanswer
 

bitonio6 a écrit :

ah bon... et pourquoi a-t-il besoin d'un utilitaire pour faire ça?!


 
bhen tu fais comment sinon ?
pcq copier bêtement les fichiers faut espérer que la disquette n'ait pas un secteur de boot ou autre particularité non présente sous forme de fichier...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°997083
edma
Posté le 26-12-2002 à 09:07:27  profilanswer
 

Je ne peux que confirmer ce que fait la macro lorsqu'on clique sur "Non" à la première question.  
 
 Elle recopie les fichiers dans l'ordre alphabétique et crée "au passage" les sous-dossiers nécessaires en respectant l'ordre alphabétique,...  
 
alors que ton besoin est un peu différent, si on se réferre à ton exemple :
01= D[1]->SD[1]->SSD[1]->SSSD[1]->SSSSD[1]->Fichiers  
02= D[1]->SD[1]->SSD[1]->SSSD[1]->SSSSD[2]->Fichiers  
03= D[1]->SD[1]->SSD[1]->SSSD[1]->Fichiers  
 
...
 
tu souhaites créer à l'intérieur d'un dossier par exemple SSSD[1] d'abord les sous-dossiers internes (SSSSD[1] et SSSSD[2] et leur contenu), puis les simples fichiers ...  
 
A+ pour une solution.
 
 
 


Message édité par edma le 26-12-2002 à 09:19:18
n°997188
edma
Posté le 26-12-2002 à 11:14:31  profilanswer
 

Voici une solution explicitée par un exemple actualisé par rapport au pb de bitonio6  :
 
si l'ordre de classement ci-dessous te convient :
C:\new\
C:\new\D1\
C:\new\D1\SD1\
C:\new\D1\SD1\SSD1\
C:\new\D1\SD1\SSD1\SSSD1\
C:\new\D1\SD1\SSD1\SSSD1\SSSSD1\
C:\new\D1\SD1\SSD1\SSSD1\SSSSD1\Asd01.txt
C:\new\D1\SD1\SSD1\SSSD1\SSSSD1\Xsd01.txt
C:\new\D1\SD1\SSD1\SSSD1\SSSSD2\
C:\new\D1\SD1\SSD1\SSSD1\SSSSD2\Asd02.txt
C:\new\D1\SD1\SSD1\SSSD1\SSSSD2\Xsd02.txt
C:\new\D1\SD1\SSD1\SSSD1\Asd03.txt
C:\new\D1\SD1\SSD1\SSSD1\Xsd03.txt
C:\new\D1\SD1\SSD1\SSSD2\
C:\new\D1\SD1\SSD1\SSSD2\SSSSD1\
C:\new\D1\SD1\SSD1\SSSD2\SSSSD1\Asd04.txt
C:\new\D1\SD1\SSD1\SSSD2\SSSSD1\Xsd04.txt
C:\new\D1\SD1\SSD1\SSSD2\SSSSD2\
C:\new\D1\SD1\SSD1\SSSD2\SSSSD2\Asd05.txt
C:\new\D1\SD1\SSD1\SSSD2\SSSSD2\Xsd05.txt
C:\new\D1\SD1\SSD1\SSSD2\Asd06.txt
C:\new\D1\SD1\SSD1\SSSD2\Xsd06.txt
C:\new\D1\SD1\SSD1\Asd07.txt
C:\new\D1\SD1\SSD1\Xsd07.txt
C:\new\D1\SD2\
C:\new\D1\SD2\SSD1\
C:\new\D1\SD2\SSD1\SSSD1\
C:\new\D1\SD2\SSD1\SSSD1\SSSSD1\
C:\new\D1\SD2\SSD1\SSSD1\SSSSD1\Asd08.txt
C:\new\D1\SD2\SSD1\SSSD1\SSSSD1\Xsd08.txt
C:\new\D1\SD2\SSD1\SSSD1\SSSSD2\
C:\new\D1\SD2\SSD1\SSSD1\SSSSD2\Asd09.txt
C:\new\D1\SD2\SSD1\SSSD1\SSSSD2\Xsd09.txt
C:\new\D1\SD2\SSD1\SSSD1\Asd10.txt
C:\new\D1\SD2\SSD1\SSSD1\Xsd10.txt
C:\new\D1\SD2\SSD1\Assd11.txt
C:\new\D1\SD2\SSD1\Xssd11.txt
C:\new\D1\SD2\Asd12.txt
C:\new\D1\SD2\Xsd12.txt
C:\new\D1\Ad13.txt
C:\new\D1\Xd13.txt
C:\new\D2\
C:\new\D2\SD1\
C:\new\D2\SD1\SSD1\
C:\new\D2\SD1\SSD1\SSSD1\
C:\new\D2\SD1\SSD1\SSSD1\SSSSD1\
C:\new\D2\SD1\SSD1\SSSD1\SSSSD1\Asd14.txt
C:\new\D2\SD1\SSD1\SSSD1\SSSSD1\Xsd14.txt
 
la macro suivante (revue le 30/12) effectue ce travail :
 
Sub Reclass()
'
' Reclass Macro
' Macro enregistrée le 26/12/2002 par Deffaud Edgard
' permet de recopier un dossier avec ses sous-dossiers en respectant physiquement l'ordre alphabétque
'
' ce qui permettra d'optimiser toute lecture du contenu du dossier, triée par ordre alphabétique
 
 
Do
    In_path = InputBox("chemin du dossier d'entrée à reclasser" & vbLf & "par exemple :", "reclassement", "C:\windows\bureau\old\" )
    If In_path = "" Then Exit Sub
    If Right(In_path, 1) <> "\" Then In_path = In_path & "\"
    If Dir(In_path, vbDirectory) = "" Then MsgBox "Le dossier à reclasser ==> " & In_path & vbLf & "n'existe pas, merci de corriger "
Loop Until Dir(In_path, vbDirectory) <> ""
 
 
Outpath = InputBox("chemin du dossier de sortie à recréer" & vbLf & "par exemple :", "Recopie classée", "C:\windows\bureau\new\" )
If Outpath = "" Then Exit Sub
If Right(Outpath, 1) <> "\" Then Outpath = Outpath & "\"
If Dir(Outpath, vbDirectory) <> "" Then
    MsgBox "Le dossier de sortie ==> " & Outpath & vbLf & "existe déjà, merci de le supprimer "
    Exit Sub
End If
i_niveau = 0 ' profondeur des dossiers
i_row = 2
 
'RAZ colonnes de travail
Columns("A:E" ).Select
    Selection.Delete Shift:=xlToLeft
 
Cells(1, 1) = "dir"
Cells(1, 2) = 0
Cells(1, 3) = In_path
Cells(1, 5) = Outpath
 
Do While Cells(1, 1) = "dir"
    i_niveau = i_niveau + 1
    Cells(1, 2) = i_niveau
    In_path = Cells(1, 3)
    Outpath = Cells(1, 5)
     
    MyName = Dir(In_path, vbDirectory + vbHidden + vbNormal + vbSystem)
    Do While MyName <> ""   ' Commence la boucle.
        ' Ignore le répertoire courant et le répertoire
        ' contenant le répertoire courant.
        If MyName <> "." And MyName <> ".." Then
            Rows(i_row).Insert
            Cells(i_row, 2) = i_niveau
            ' Utilise une comparaison au niveau du bit pour
            ' vérifier que MyName est un répertoir
            If (GetAttr(In_path & MyName) _
                And vbDirectory) = vbDirectory Then
                ' représente un répertoire.
                Cells(i_row, 1) = "dir"
                Cells(i_row, 3) = In_path & MyName & "\"
                Cells(i_row, 4) = Chr(0)
                Cells(i_row, 5) = Outpath & MyName & "\"
                i_row = i_row + 1
               
            Else
                ' représente un fichier
                Cells(i_row, 1) = "file_" ' & i_niveau
                Cells(i_row, 3) = In_path & Chr(255)
                Cells(i_row, 4) = MyName
                Cells(i_row, 5) = Outpath & MyName
                i_row = i_row + 1
            End If
        End If
        MyName = Dir    ' Extrait l'entrée suivante.
    Loop
    Cells(1, 1) = "Dir_Ok" 'indication que le dossier a été traité
    Worksheets(1).Columns("A:E" ).Sort _
            Key1:=Worksheets(1).Columns("A" ), Key2:=Worksheets(1).Columns("B" ), Key3:=Worksheets(1).Columns("C" )
 
Loop
 
 
    Worksheets(1).Columns("A:E" ).Sort _
    Key1:=Worksheets(1).Columns("C" ), Key2:=Worksheets(1).Columns("D" )
 
' compteur de création de dossiers
i_Dir = -1 ' on ne copte pas le dossier de plus haut niveau
' compteur de recopie de fichiers
i_File = 0
 
i = 1
Do Until Cells(i, 1) = ""
    If Left(Cells(i, 1), 3) = "Dir" Then
        MkDir (Cells(i, 5))
        i_Dir = i_Dir + 1
    Else
        FileCopy Left(Cells(i, 3), Len(Cells(i, 3)) - 1) & Cells(i, 4), Cells(i, 5)
        i_File = i_File + 1
    End If
    i = i + 1
Loop
 
MsgBox "nombre de dossiers créés  : " & i_Dir & vbCrLf & _
        "nombre de fichiers copiés : " & i_File, vbOKOnly, "Recopie classée"
 
 
End Sub
 
 
es-tu intéressé par un fichier excel qui permette d'exécuter cette macro ?
 
:)


Message édité par edma le 30-12-2002 à 14:55:57
n°999593
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 28-12-2002 à 11:54:02  profilanswer
 

non ce n'est pas comme ça que je le souhaite...
 
j'aimerai qu'il ne créée que les dossier et sous-dossier qui se trouvent sur la même ligne verticale!!!
 
comme montrer dans mon exemple...
 
on va tout au bout de la première ligne et on pose les fichiers dans le tout dernier sous dossier.... en 1er!!!
ensuite on revient sur la droite... et on y dépose les autres fichiers et ainsi de suite!!!
 
comme je te l'ai décrit!!!
 
mais je te remercie des ton  envie de trouver la solution!! :jap:

n°1002313
edma
Posté le 30-12-2002 à 15:12:01  profilanswer
 

On approche,....
 
J'ai recréé ton exemple et j'ai exécuté la macro listée ci-dessus, laquelle  crée les dossiers et recopie les fichiers dans l'ordre indiqué ci-dessous  
 
. Si ce n'est pas le bon ordre peux-tu me faire une liste qui indique l'ordre souhaité.
 
 
00 création C:\new\ (dossier de plus haut niveau)
01 création C:\new\D1\
02 création C:\new\D1\SD1\
03 création C:\new\D1\SD1\SSD1\
04 création C:\new\D1\SD1\SSD1\SSSD1\
05 création C:\new\D1\SD1\SSD1\SSSD1\SSSSD1\
06 recopie C:\new\D1\SD1\SSD1\SSSD1\SSSSD1\Asd01.txt
07 recopie C:\new\D1\SD1\SSD1\SSSD1\SSSSD1\Xsd01.txt
08 création C:\new\D1\SD1\SSD1\SSSD1\SSSSD2\
09 recopie C:\new\D1\SD1\SSD1\SSSD1\SSSSD2\Asd02.txt
10 recopie C:\new\D1\SD1\SSD1\SSSD1\SSSSD2\Xsd02.txt
11 recopie C:\new\D1\SD1\SSD1\SSSD1\Asd03.txt
12 recopie C:\new\D1\SD1\SSD1\SSSD1\Xsd03.txt
13 création C:\new\D1\SD1\SSD1\SSSD2\
14 création C:\new\D1\SD1\SSD1\SSSD2\SSSSD1\
15 recopie C:\new\D1\SD1\SSD1\SSSD2\SSSSD1\Asd04.txt
16 recopie C:\new\D1\SD1\SSD1\SSSD2\SSSSD1\Xsd04.txt
17 création C:\new\D1\SD1\SSD1\SSSD2\SSSSD2\
18 recopie C:\new\D1\SD1\SSD1\SSSD2\SSSSD2\Asd05.txt
19 recopie C:\new\D1\SD1\SSD1\SSSD2\SSSSD2\Xsd05.txt
20 recopie C:\new\D1\SD1\SSD1\SSSD2\Asd06.txt
21 recopie C:\new\D1\SD1\SSD1\SSSD2\Xsd06.txt
22 recopie C:\new\D1\SD1\SSD1\Asd07.txt
23 recopie C:\new\D1\SD1\SSD1\Xsd07.txt
24 création C:\new\D1\SD2\
25 création C:\new\D1\SD2\SSD1\
26 création C:\new\D1\SD2\SSD1\SSSD1\
27 création C:\new\D1\SD2\SSD1\SSSD1\SSSSD1\
28 recopie C:\new\D1\SD2\SSD1\SSSD1\SSSSD1\Asd08.txt
29 recopie C:\new\D1\SD2\SSD1\SSSD1\SSSSD1\Xsd08.txt
30 création C:\new\D1\SD2\SSD1\SSSD1\SSSSD2\
31 recopie C:\new\D1\SD2\SSD1\SSSD1\SSSSD2\Asd09.txt
32 recopie C:\new\D1\SD2\SSD1\SSSD1\SSSSD2\Xsd09.txt
33 recopie C:\new\D1\SD2\SSD1\SSSD1\Asd10.txt
34 recopie C:\new\D1\SD2\SSD1\SSSD1\Xsd10.txt
35 recopie C:\new\D1\SD2\SSD1\Assd11.txt
36 recopie C:\new\D1\SD2\SSD1\Xssd11.txt
37 recopie C:\new\D1\SD2\Asd12.txt
38 recopie C:\new\D1\SD2\Xsd12.txt
39 recopie C:\new\D1\Ad13.txt
40 recopie C:\new\D1\Xd13.txt
41 création C:\new\D2\
42 création C:\new\D2\SD1\
43 création C:\new\D2\SD1\SSD1\
44 création C:\new\D2\SD1\SSD1\SSSD1\
45 création C:\new\D2\SD1\SSD1\SSSD1\SSSSD1\
46 recopie C:\new\D2\SD1\SSD1\SSSD1\SSSSD1\Asd14.txt
47 recopie C:\new\D2\SD1\SSD1\SSSD1\SSSSD1\Xsd14.txt

n°1002351
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 30-12-2002 à 15:27:09  profilanswer
 

c'est exactement ça!!!

n°1002379
edma
Posté le 30-12-2002 à 15:43:05  profilanswer
 

Oki ;)
 
Je t'envoie un mail avec le fichier excel en pièce jointe;
 
tu l'ouvres puis tu cliques sur GO !
 
edit de 15h53 :
enregistre le fichier excel et mets-le en read-only. Cela t'éviteras de le modifier inutilement.
 
en fin d'exécution la colonne "E" du tableau contient la liste reclassée des créations et recopies des dossiers/fichiers


Message édité par edma le 30-12-2002 à 15:50:37
n°1002939
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 30-12-2002 à 22:54:06  profilanswer
 

merci pour ton travail...
enfin je ne vais pas le tester tout de suite...
je ne suis pas sûr... de moi...
 
alors j'ai des trucs important à régler d'abord....
 
et sinon il y a une limite à la quantité? (de fichiers copier)

n°1003300
edma
Posté le 31-12-2002 à 10:03:08  profilanswer
 

La limite est celle d'excel . Chaque ligne du tableau contient soit le nom du dossier à créer soit le nom du fichier à recopier.
 
on est donc limité par le nb maximum de lignes que peut gérer excel .... Par contre pour de gros volumes (en nombre et en taille de fichiers), cela prendra un temps certain. je ferai un de ces quatre une version qui indique l'avancement du processus de recopie.
 
 
Bonne année 2003 à tous :hello:

n°1003369
USA Mike
WWW--&gt;We Will Win
Posté le 31-12-2002 à 11:16:52  profilanswer
 

ah bon gars il y a une solution très simple :
Tu télécharges le programme Windows Commander
 
qu iest un gestion de fichiers (comme le bon vieux Directory Opus etDiskmaster sur Amiga...)
 
Tu excécute Windows Comander,
Tu sélectionnes ensuite ton ou tes répertoires
Dans le menu Fichier, tu as 'Attributs/propriétés' des fichieirs
Tu coches ce que tu veux ou pas
et surtout en bas, tu choisis de modifer les dates des fichiers/répertoires ainsi ça va tout te remettre dans l'ordre !
 
voilà !
 


---------------

n°1003533
bitonio6
La HDTV = Arnaque Du Siècle!
Posté le 31-12-2002 à 13:46:41  profilanswer
 

ben il me faut d'un côté un EXE sans passer par Excell
et de l'autre je ne pense pas que wincommander me fera ce qui est décrit plus haut!!!

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  qui pourrait me faire ou me trouver ce petit utilitaire?!

 

Sujets relatifs
Utilitaire de testSTP petit prob avec winamp
Bientôt mon (petit) réseau : CH conseilsUn doc word... ya moyen de trouver le pass ??
Comment trouver des ports ouverts et les appli qui sonr derriere ???Je peux trouver où le dico espagnol pour word 2000?
Conseils pour bien débuter avec un petit parc d'ordi sous XP proou trouver les driver compaq ? :(
d7 de boot de Windows Me : avez vous un site ou je peux le trouver ??Où je peux trouver un cable de Wake on Lan?
Plus de sujets relatifs à : qui pourrait me faire ou me trouver ce petit utilitaire?!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR