Suppression fichier - Shell/Batch - Programmation
Marsh Posté le 17-09-2010 à 15:14:56
Tu peux ajouter :
|
Jean-Pierre.
Marsh Posté le 17-09-2010 à 16:30:08
Ca me semble pas mal du tout je vais faire le test et je te tiens informé. Merci
Marsh Posté le 17-09-2010 à 16:38:19
Voila je viens de tester et ça fonctionne très bien
------ ³ [-[ DATE : 17/09/2010 16:36:20,89 ]-] ³ ------
REPERTOIRE AVANT SUPPRESSION :
4 fichier(s) 1ÿ776ÿ345 octets
Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de Copie de Copie de nouveau dossier\gdfgd.bak
Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de Copie de Copie de nouveau dossier\Pa50SD_os_v101.bak
Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de Copie de Copie de nouveau dossier\Nouveau dossier\fdgdf.bak
Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de Copie de Copie de nouveau dossier\Nouveau dossier\Plastur' J.bak
Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de Copie de Copie de nouveau dossier\Nouveau dossier\Nouveau dossier\fdsfsd.bak
Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de Copie de Copie de nouveau dossier\Nouveau dossier\Nouveau dossier\PCM AGP 07JUILL10.bak
REPERTOIRE APRES SUPPRESSION :
2 fichier(s) 3ÿ537 octets
-------------------------------------------------------------------------------------------------------------------------
Juste pour chipoter (1ÿ776ÿ345 octets) on ne peut pas l'avoir mieux (genre en Mo) ou éviter le ÿ....... ?
Encore merci pour l'aide
Marsh Posté le 20-09-2010 à 10:54:30
Le caractère ÿ est le séparateur de milliers, je ne sais pas trop comment tu obtiens ça (à l'affichage c'est un espace).
Tu peux le supprimer en ajoutant l'option /-C à ta commande DIR.
Par contre je n'ai pas de solution (simple) pour l'affichage en Mo
Jean-Pierre.
Marsh Posté le 20-09-2010 à 11:16:22
Parfait ça fonctionne super bien. Merci beaucoup. Je te pose juste la question mais toujours pareil c'est pour chipotter ^^. Si tu sais ca n'a pas d'importance car j'ai deja mis en fonction le programme.
La taille m'est donnée que pour le repertoire racine est-ce qu'il y aurait une commande pour avoir aussi la taille des sous repertoire présent dans celui-ci ?
Encore mille merci
Marsh Posté le 20-09-2010 à 11:36:05
Pour avoir la taille totale sous-répertoires compris, il faut ajouter l'option /S à la commande DIR.
L'inconvénient est que tu vas afficher les infos pour tous les répertoires , par exemple :
U:\TEMP>DIR /S /-C | FIND "fichier(s)" |
J'ai écrit un petit sous-programme qui affiche le résultat global en octets, Ko ou Mo suivant la taille :
CALL :PrintDirInfos U:\TEMP |
Le résultat est :
183 fichier(s) 31 Mo |
Jean-Pierre.
Marsh Posté le 20-09-2010 à 12:00:39
Ah excellent la commande S. Par contre le sous programme je suis paumé je sais pas comment l'intégrer. Voici a quoi ressemble le mien avec les modifs:
echo.
echo. >> Historiquebak.txt
echo.>> Historiquebak.txt
echo ------ ³ [-[ DATE : %date% %time% ]-] ³ ------ >> Historiquebak.txt
echo. >> Historiquebak.txt
echo. >> Historiquebak.txt
echo REPERTOIRE AVANT SUPPRESSION : >> Historiquebak.txt
echo. >> Historiquebak.txt
dir / S /-C| find "fichier(s)" >> Historiquebak.txt
pause
echo. >> Historiquebak.txt
echo. >> Historiquebak.txt
echo.
echo.
ECHO VOULEZ VOUS SUPPRIMER LES FICHIERS BAK PRESENT DANS CE REPERTOIRE ?
echo.
ECHO 1) OUI
echo.
ECHO 2) NON
ECHO.
rem variable d'environnement (paramètre /P obligatoir)
set /p choix= VEUILLEZ ENTRER UN CHOIX S IL VOUS PLAIT (1 ou 2) :
if not %choix%=='' set choix=%choix:~0,1%
if %choix%==1 goto OUI
if %choix%==2 goto NON
retour au menu principale a cause d'un mauvais choix ou une faute de frappe
echo %choix% N EST PAS CORRECT !
goto menu
UI
echo. >> Historiquebak.txt
del /s *.bak >> Historiquebak.txt
echo.>> Historiquebak.txt
echo REPERTOIRE APRES SUPPRESSION : >> Historiquebak.txt
echo. >> Historiquebak.txt
dir /S /-C| find "fichier(s)" >> Historiquebak.txt
echo.>> Historiquebak.txt
echo.>> Historiquebak.txt
echo ------------------------------------------------------------------------------------------------------------------------- >> Historiquebak.txt
echo.>> Historiquebak.txt
:NON
exit
En tout les cas encore merci tu m'auras beaucoup aidé.
Marsh Posté le 20-09-2010 à 13:31:21
Ton code avec l'utilisation de mon sous-programme :
echo. |
Une petite astuce pour plus de clarté pour une suite de commandes dont la sortie est à rediriger dans un fichier :
Le code suivant :
echo. >> Historiquebak.txt |
peut être ecrit :
( |
Jean-Pierre.
Marsh Posté le 20-09-2010 à 21:22:53
Mille merci pour toutes ton aide voici un programme parfait et surtout merci pour les tuyaux.
Marsh Posté le 17-09-2010 à 10:40:53
Bonjour à tous,
Voici mon programme. Il est presque fini, il me manque qu’une petite commande et j’ai besoin de votre aide.
J’ai des fichiers avec l’extension .bak que je dois supprimer. J’aimerais aussi créer un fichier d’archive me disant qu’est ce qui a été supprimé et quand.
Tout ça fonctionne j’aimerais juste ajouter dans ce fichier (un txt tout bête) la taille de mon fichier avant la suppression et la taille après suppression.
Voici le code :
@echo off
color 3f
echo.
echo.
echo.
echo ------ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ------
echo ------ ³ ³ ------
echo ------ ³ ³ ------
echo ------ ³ BIENVENUE DANS LE PROGRAMME DE SUPPRESSION DES FICHIERS ³ ------
echo ------ ³ BAK ³ ------
echo ------ ³ ³ ------
echo ------ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ------
echo.
echo.
echo.------ >> Historiquebak.txt
echo.------ >> Historiquebak.txt
echo ------ ³ [-[ DATE : %date% %time% ]-] ³ ------ >> Historiquebak.txt
pause
echo.------ >> Historiquebak.txt
echo.------ >> Historiquebak.txt
echo.
echo.
ECHO VOULEZ VOUS SUPPRIMER LES FICHIERS BAK PRESENT DANS CE REPERTOIRE ?
echo.
ECHO 1) OUI
echo.
ECHO 2) NON
ECHO.
rem variable d'environnement (paramètre /P obligatoir)
set /p choix= VEUILLEZ ENTRER UN CHOIX S IL VOUS PLAIT (1 ou 2) :
if not %choix%=='' set choix=%choix:~0,1%
if %choix%==1 goto OUI
if %choix%==2 goto NON
retour au menu principale a cause d'un mauvais choix ou une faute de frappe
echo %choix% N EST PAS CORRECT !
goto menu
UI
del /s *.bak >> Historiquebak.txt
:NON
exit
Et voici le fichier txt créer
------
------
------ ³ [-[ DATE : 17/09/2010 10:39:31,61 ]-] ³ ------
------
------
Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de nouveau dossier\gdfgd.bak
Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de nouveau dossier\Nouveau dossier\fdgdf.bak
Fichier supprim‚ - C:\Users\C\Desktop\Copie de Copie de Copie de nouveau dossier\Nouveau dossier\Nouveau dossier\fdsfsd.bak
Il me faudrait juste apres la date la taille du repertoire source et à la fin la taille apres suppression.
J'espere que vous pourrez m'aider. Merci d'avance