Se connecter / S'enregistrer
Votre question

trier avec batch

Tags :
  • Batch
  • Programmation
Dernière réponse : dans Programmation
9 Novembre 2007 17:39:54

bonsoir,
je commence a m intéressé de plus en plus aux commandes batch, je sais comment les faire etc mais je ne connais pas du tout quelle fonctions faut utiliser:
je m explique:
je voudrais créer un petit batch qui trie différents fichers pour les mettre dans d autre dossiers...et qu il s exécute automatiquement comme par exemple a chaque ouverture de ma session...
ce sont mes photo ou videos que je classe par mois et par extension ou qualité...
si quelqu un pouvait m aider ou juste me donner les fonctions a utilisé je chercherai pour la suite
merci

Autres pages sur : trier batch

9 Novembre 2007 18:17:04

Un .bat ne sait pas faire ça. Il faut passer en programmation (vb, C++ ou autre, peu importe).

Je fais des trucs du genre en utilisant vb sous access. C'est pas vraiment l'objet d'access, mais c'est pratique et ça marche :-))
9 Novembre 2007 19:52:39

ah bon? ok
bah pourrai tu m expliquer comment faire avec acces je testerai...
merci d avance
Contenus similaires
a b L Programmation
9 Novembre 2007 20:30:10

avec DIR /B ... tu peux filter certains fichiers.
Avec un for /F, tu fais ce que tu fais ce que tu veux des fichiers.

ps: le .bat c'est de la programmation.
pps: access, je vois pas le rapport...
ppps: Pour faire des choses plus évoluées que les .bat, le mieux est de faire du python.
10 Novembre 2007 10:44:10

Citation :
pps: access, je vois pas le rapport...

Aucun. Mais c'est bien pratique pour exécuter du vb.

Zalp, je t'ai fait un petit extrait de code :


Function Trier()
Dim Fichier As String 'et Dim les autres

Fichier = Dir(LieuOrigine & "*.*")
Do Until Fichier = ""
If Fichier <> "." And Fichier <> ".." Then
If (GetAttr(LieuOrigine & Fichier) And vbDirectory) <> vbDirectory Then

' ** Extraire l'extension
If InStr(1, Fichier, ".") = 0 Then
Racine = Fichier
Extens = ""
Else
I = 0
Do
Pos = I
I = InStr(Pos + 1, Fichier, ".")
Loop Until I = 0
Racine = Mid$(Fichier, 1, Pos - 1) ' donc, sans le .
Extens = Mid$(Fichier, Pos, Len(Fichier) - Pos + 1)
End If

' ** Extraire la taille
Taille = FileLen(Nom1)


' là, tu trie et choisi l'action
...........

' ** pour copier / déplacer
Nom1 = LieuOrigine & Fichier
Nom2 = LieuDestination & Fichier
FileCopy Fichier1, Fichier2
Kill Fichier1 ' Attention, gestion d'erreur si FileCopy s'est planté

' ** pour renommer ou déplacer si LieuOrigine et LieuDesination sont sur le même disque
Name Nom1 As Nom2

End If
End If
Fichier = Dir
Loop

End Function

a b L Programmation
10 Novembre 2007 13:12:20

Citation :
Aucun. Mais c'est bien pratique pour exécuter du vb.

C'est surtout utile si on en a besoin, pas pour exécuter :) 

Pour ton code, en même temps, une action sur le tri avec les extensions ou les noms, ça prend une ligne en batch :) 
10 Novembre 2007 13:45:56

merci doatyn mais c est vrai que c est pas tres explicité, et je prefere de loin fair ca avec un bat si c ets possible ca a l air beaucoup plus simple, une fois le code compris et rédigé je peux le changer sans probleme...
donc CRicky si tu pouvais me dire le code en bat ou c ets peut etre le meme mais en moins compliqué...

merci de vos reponses
a b L Programmation
10 Novembre 2007 17:37:41

FOR /F %%A IN (`DIR /B *.txt 2^>NUL`) DO COPY %%A "C:\toto\"

Après, ça dépend de ce que tu veut faire exactement.
Si tu veux faire quelque chose de compliqué, mieux vaut programmer avec de meilleurs outils (python, VB...).
10 Novembre 2007 18:15:15

Le VB, me rappelle étrangement le VHDL XD
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS