FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Qui connait FORFILES ? Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Qui connait FORFILES ? Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Qui connait FORFILES ? Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Qui connait FORFILES ? Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Qui connait FORFILES ? Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Qui connait FORFILES ? Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Qui connait FORFILES ? Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Qui connait FORFILES ? Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Qui connait FORFILES ? Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Qui connait FORFILES ? Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Qui connait FORFILES ? Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Qui connait FORFILES ? Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Qui connait FORFILES ? Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Qui connait FORFILES ? Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Qui connait FORFILES ? Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-38%
Le deal à ne pas rater :
Ecran PC gaming 23,8″ – ACER KG241Y P3bip à 99,99€
99.99 € 159.99 €
Voir le deal

 

 Qui connait FORFILES ?

Aller en bas 
2 participants
AuteurMessage
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Qui connait FORFILES ? Empty
MessageSujet: Qui connait FORFILES ?   Qui connait FORFILES ? EmptySam 21 Mar 2015 - 17:56

Connaissez-vous FORFILES ?
Oui, non, pas assez ?
Personnellement je la connais superficiellement pour avoir joué avec  elle il y a bien des années.
Je vous dis dès le début : elle est FORMIDABLE !  Et l’essayer c’est l’adopter.

Avez-vous deviné de quoi je parle ?

Je parle d’une commande native dans Vista, W7 et W8.
Cette commande sert à sélectionner et exécuter une certaine tâche sur un fichier ou un ensemble de fichiers.
Elle rend de beaux services quand on l’utilise pour le traitement par lots.
Le code suivant donne la syntaxe de cette commande et propose quelques exemples de son utilisation et c'est à vous d'en imaginer d'autres.

Code:

rem ============================================================================
rem              Exemples pour utiliser la commande ForFiles
rem                       Par Papydall
rem ============================================================================
rem FORFILES est une commande native dans Vista, W7, W8
rem Elle sert à sélectionner et exécuter une commande sur un fichier ou un
rem ensemble de fichiers.
rem Cette commande est utile pour le traitement par lots.
rem ============================================================================
' Syntaxe de la commande FORFILES:
rem forfiles [/p <Path>] [/m <SearchMask>] [/s] [/ c "<Command>"] [/d [{+ |-}] [{<Date> | <Days>}]]

rem /p <Path>  :' Spécifie le chemin d'accès à partir duquel commencer la recherche.
'              Par défaut, la recherche commence dans le répertoire de travail actuel.

rem /m <SearchMask> : ' Recherche des fichiers en fonction du masque de recherche spécifié.
'                       Le masque de recherche par défaut est *.*

rem /s   : ' Indique à la commande forfiles de rechercher dans les sous-répertoires
'            de manière récursive.

rem /c "<Command>" : ' Exécute la commande spécifiée sur chaque fichier.
'                    Les chaînes de commande doivent être placés entre guillemets.
'                    La commande par défaut est "cmd /c echo @file".

rem /d [{+ |-}] [{<Date> | <Days>}]  : ' Sélectionne les fichiers avec une date
' de dernière modification dans le délai spécifié.
' Sélectionne les fichiers avec une date de dernière modification postérieure ou égale à (+)
' ou antérieure ou égale (-) à la date spécifiée, dont la Date est au format MM/JJ/AAAA.
' Sélectionne des fichiers avec une date de dernière modification postérieure ou égale à (+)
' la date du jour plus le nombre de jours spécifié, ou antérieure ou égale à (-)
' la date actuelle moins le nombre de jours spécifié.
' Les valeurs valides pour les jours incluent n'importe quel nombre dans la plage 0 à 32768 (89 années).
' Si aucun signe n'est spécifié, + est utilisé par défaut.
rem ============================================================================
' Forfiles est plus couramment utilisé dans les fichiers batch.
' Forfiles /s est similaire à dir /s.
' Vous pouvez utiliser les variables suivantes dans la chaîne de commande tel
' que spécifié par l'option de ligne de commande /c .
rem @FILE   : ' Nom de fichier.
rem @FNAME  : ' Nom de fichier sans extension.
rem @EXT    : ' Extension de nom de fichier.
rem @PATH   : ' Chemin d'accès complet du fichier.
rem @RELPATH: ' Chemin d'accès relatif du fichier.
rem @ISDIR  : ' Retourne la valeur TRUE si un type de fichier est un répertoire.
              ' Sinon, FALSE.
rem @FSIZE  : ' Taille du fichier, en octets.
rem @FDATE  : ' Date de dernière modification du fichier.
rem @FTIME  : ' Heure de dernière modification du fichier.
rem  ===========================================================================
' Pour inclure un caractère spécial dans la commande,on utilise le code hexa
' au format : 0xHH
' Exemples:
' 0x09  : une tabulation
' 0x22  : double quote "
' "c:\ Program Files" devient ^0x22c:\Program^ Files\ ^0x22
rem ============================================================================
rem ============================================================================
rem ============================================================================
dim commande$,rep$,titre$,q$ ,s$
full_space 0
q$ = chr$(34)
rep$ = "c:\users\acer\desktop\panoramic" : ' ou  rep$ = dir_current$ : ' Répertoire de travail à modifier selon votre cas
memo 1 : bar_both 1 : font_bold 1 : font_color 1,0,0,255
top 1,50 : left 1,100 : width 1,width(0)-200 : height 1,height(0)-200
font_bold 0 : font_size 0,16
alpha 2 : top 2,height(1)+50 : left 2,200
caption 2, "!!! Veuillez patienter .... Le traitement peut être long !!!"
alpha 3 : top 3,10 : left 3,100

rem ============================================================================
' Voici quelques exemples pour utiliser la commande FORFILES
' Pour chaque exemple, supprimer les apostrophes (rem) avant commandes et avant titre$
rem ============================================================================
rem Pour répertorier tous les fichiers texte du dossier en cours et des ses sous-dossiers
 commande$ = "forfiles /p "+rep$+" /s /m *.txt /c "+q$+"cmd /c echo @path 0x09 0x09 est un fichier texte"+q$
 titre$ = "Liste de tous les fichiers TXT du dossier «"+rep$ +"» et des ses sous-dossiers"
rem ============================================================================

rem ============================================================================
rem Pour répertorier tous les dossiers du répertoire en cours
' commande$ = "forfiles /p "+rep$+" /m * /c "+q$+"cmd /c if @isdir == TRUE echo @file est un dossier"+q$
' titre$ = "Liste de tous les dossiers du dossier «"+rep$+"»"
rem ============================================================================

rem ============================================================================
rem Pour répertorier tous les fichiers qui ont au moins un an dans le répertoire en cours
' commande$ = "forfiles /p "+rep$+"  /m *.* /d -365 /c "+q$+"cmd /c echo @file a au moins un an."+q$
' titre$ = "Liste de tous les fichiers qui ont au moins un an dans le répertoire : «"+rep$+"»"
rem ============================================================================

rem ============================================================================
rem Pour afficher le texte "est obsolète" pour chacun des fichiers dans le
rem répertoire en cours et ses sous-répertoires qui sont plus anciens que le 1er janvier 2010
' commande$ = "forfiles /p "+rep$+" /s /m *.* /d -01/01/2010 /c "+q$+"cmd /c echo @path  est obsolète."+q$
' titre$ = "Liste de tous les fichiers du répertoire en cours et ses sous-répertoires qui sont plus anciens que le 1er janvier 2010"
rem ============================================================================

rem ============================================================================
rem Pour répertorier les extensions de nom de fichier de tous les fichiers dans le
rem répertoire courant au format de colonne et ajouter une tabulation avant l'extension
' commande$ = "forfiles  /m *.* /c "+q$+"cmd /c echo l'extension de @file 0x09est 0x09@ext"+q$
' titre$ = "Extensions de tous les fichiers du répertoires en cours"
rem ============================================================================

rem ============================================================================
rem Pour supprimer le fichier TestFich.txt si il est vieux de 5 jours ou plus
rem forfiles /m TestFich.txt /c "cmd /c Del TestFich.txt " /d -5
' commande$ = "forfiles /m TestFich.txt /c "+q$+"cmd /c Del Testfich.txt "+q$+" /d -5"
' titre$ = "Suppression du fichier TestFich.txt s'il existe et s'il est vieux de 5 jours ou plus"
rem ============================================================================

rem ============================================================================
rem Pour trouver tous les fichiers .jpg modifiés depuis 30 jours ou plus et ajouter
rem une tabulation avant le texte modifié depuis...
' commande$ = "forfiles /p "+rep$+" /s /m *.jpg /C "+q$+"cmd /c echo @path 0x09modifié depuis 30 jours (ou plus)"+q$+" /D -30"
' titre$ = "Liste de tous les fichiers .jpg du répertoire : «"+rep$+ "» et de ses sous-répertoires modifiés de puis 30 jours ou plus"
rem ============================================================================

rem ============================================================================
rem Pour lister le nom et la taille de tous les fichiers .doc du répertoire
rem courant et de ses sous-répertoires éventuels en ajoutant une tabulation
rem entre le nom et la taille du fichier
' commande$ = "FORFILES /S /M *.doc /C "+q$+"cmd /c echo @file 0x09 @fsize"+q$
' titre$ = "Lister le nom et la taille de tous les fichiers .doc en ajoutant une tabulation entre le nom et la taille du fichier"
rem ============================================================================

caption 3, titre$
Exec_ForFile(commande$,titre$)
caption 2,""

end
rem ============================================================================
SUB Exec_ForFile(commande$,titre$)
    execute_wait "cmd /c" + commande$ + " | clip"
    s$ = clipboard_string_paste$
    if s$ = "" then s$ = "Aucun fichier ne satisfait à la demande"
    item_add 1,titre$ : item_add 1,s$

END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Qui connait FORFILES ? Empty
MessageSujet: Re: Qui connait FORFILES ?   Qui connait FORFILES ? EmptySam 21 Mar 2015 - 19:54

Puissant
Revenir en haut Aller en bas
 
Qui connait FORFILES ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» qui connait l'objet IMAGE?
» déclarer une var tableau dont on ne connaît pas la taille

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: