Programmation DOS taille de fichiers CALL
Résolu/Fermé
Loulou
-
23 mai 2011 à 14:25
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 8 juin 2011 à 23:15
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 8 juin 2011 à 23:15
A voir également:
- Programmation DOS taille de fichiers CALL
- Comment réduire la taille d'un fichier - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
- Renommer plusieurs fichiers - Guide
- Chaque fichier en ligne sur le web a un chemin d’accès sur un serveur. c’est le cas du fichier du logo présent sur la page de cette ville. quel est le chemin de ce fichier à partir de la racine du site ? - Forum Graphisme
2 réponses
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
Modifié par cchristian le 1/06/2011 à 13:05
Modifié par cchristian le 1/06/2011 à 13:05
Bonjour,
Tu dois mettre en oeuvre l'expansion retardée des variables :
SETLOCAL ENABLEdelayedExpansion ENABLEextensions
Pour plus d'infos Tape HELP SET sous l'invite de commandes:
Extrait de la doc en ligne HELP SET:
............L'expansion retardée de variables d'environnement vous permet d'utiliser un autre caractère (le point d'exclamation) afin d'étendre les variables d'environnement durant l'exécution. Si l'expansion retardée de variables est activée, les exemples ci-dessus peuvent être écrits comme suit afin defonctionner comme vous le souhaitez .............
En résumé tu dois remplacer le % par des ! et ajouter la commande SETLOCAL en début de programme.
Remarque:
L'extrait de code que tu présentes est un peu "dépouillé" et laisse supposer que tu te retrouveras avec la taille (%%~z1 ? ou plutôt %%~zI I doit être la variable d'une commande FOR. Taper HELP FOR sous l'invite de commandes) du dernier fichier (2ème fichier) dans les 2 variables sizefile et sizefile2 si j'ai bien compris ce que tu souhaites faire.
Illustration d'une commande FOR taille d'un fichier:
FOR %%I In ("nomde l'un de tesfichiers.xxx") DO (
rem %%~zI: VOIR HELP FOR sous l'invite de commandes dernière page
SET /A TailleFichier = %%~zI
ECHO "Pour Controle: taille du fichier %%I: !TailleFichier! octets."
)
Cordialement.
Cchristian.
Tu dois mettre en oeuvre l'expansion retardée des variables :
SETLOCAL ENABLEdelayedExpansion ENABLEextensions
Pour plus d'infos Tape HELP SET sous l'invite de commandes:
Extrait de la doc en ligne HELP SET:
............L'expansion retardée de variables d'environnement vous permet d'utiliser un autre caractère (le point d'exclamation) afin d'étendre les variables d'environnement durant l'exécution. Si l'expansion retardée de variables est activée, les exemples ci-dessus peuvent être écrits comme suit afin defonctionner comme vous le souhaitez .............
En résumé tu dois remplacer le % par des ! et ajouter la commande SETLOCAL en début de programme.
Remarque:
L'extrait de code que tu présentes est un peu "dépouillé" et laisse supposer que tu te retrouveras avec la taille (%%~z1 ? ou plutôt %%~zI I doit être la variable d'une commande FOR. Taper HELP FOR sous l'invite de commandes) du dernier fichier (2ème fichier) dans les 2 variables sizefile et sizefile2 si j'ai bien compris ce que tu souhaites faire.
Illustration d'une commande FOR taille d'un fichier:
FOR %%I In ("nomde l'un de tesfichiers.xxx") DO (
rem %%~zI: VOIR HELP FOR sous l'invite de commandes dernière page
SET /A TailleFichier = %%~zI
ECHO "Pour Controle: taille du fichier %%I: !TailleFichier! octets."
)
Cordialement.
Cchristian.
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
8 juin 2011 à 23:15
8 juin 2011 à 23:15
Bonsoir,
Merci pour le retour, bon courage.
Merci pour le retour, bon courage.
7 juin 2011 à 11:17
Je pensais que les variables pouvais être enregistrées sans expansion.
Je vais approfondir pour pouvoir comparer les fichiers entre eux et détecter les doubles.
Merci.