A l'aide !! Je ne suis pas développeur [Résolu]

Signaler
Messages postés
4
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
15 février 2011
-
Messages postés
4
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
15 février 2011
-
Bonjour à tous,

J'ai besoin de l'aide d'une âme charitable qui aurait pitié d'un non développeur (et oui, personne n'est parfait !!!).

J'expose mon soucis :

J'ai besoin d'un code qui me permettrait de supprimer tous les fichiers créés le jour même dans un répertoire bien précis (fichiers créés sur le bureau le jour même).

Merci d'avance.

8 réponses

Messages postés
59
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
4 juillet 2013

Bonjour,

Comme je ne contribue pas souvent, il est logique d'apporter gratuitement à d'autres alors que j'ai personnellement tant consulté ce site.
Merci encore à Nix et à tous ceux qui font vivre ce site.

Fabien, pour résoudre ton problème créer un fichier de type texte nommé effacement.txt (peu importe le nom)

Y copier le code ci-dessous (à partir de la ligne Option Explicit
) en personnalisant la chaine codant le chemin complet du répertoire situé sur le bureau par exemple (conserver impérativement entre guillements)

Puis renommer ce fichier en effacement.vbs

VBS pour vbscript, en double cliquant dessus, ton voeu va s'exaucer.

Cordialement

' -------------------------------------------
Option Explicit

const chemin = "C:\Documents and Settings\USER1\Bureau\monrepertoire"

Dim fso, f, monrep
Dim datejour

Set fso=WScript.CreateObject("Scripting.FileSystemObject")
Set monrep=fso.GetFolder(chemin)
' on gere la date du jour comme une chaine et sans heure
datejour=left(now,instr(now," "))

' enumere les fichiers du repertoire
For Each f In fso.GetFolder(chemin).Files
' efface le fichier si egalite avec la date du jour
if left(f.DateLastModified,instr(f.DateLastModified," ")) = datejour then
fso.DeleteFile f.path,true
end if
Next
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
ouh laaaaa !

je vien de remarquer un truc la :

for /f "skip=4 tokens=2* delims=:" %%i in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Desktop') do set chemin=%chemin%:%%i\

est et doit etre une seul et même ligne
l'editeur du forum na pas aimer la longueur de cette ligne

pour eviter le pb voici une version un peu differente:

@echo off

set NbDelFile=0
set chemin=%userprofile:~0,1%
set RegKey=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

for /f "skip=4 tokens=2* delims=:" %%i in ('reg query "%RegKey%" /v Desktop') do set chemin=%chemin%:%%i\

echo Recherche des fichiers crees le %date%, dans le repertoire
echo %chemin%
echo.

for /f "tokens=*" %%i in ('Dir "%chemin%*.*" /a:-d /O:-d /t:c ^| findstr /i /m %Date%') do call :RecupNomFichier "%%i"

echo.
if %NbDelFile%==0 echo Aucun fichier trouve ! & goto :end
if %NbDelFile% GTR 1 (echo %NbDelFile% fichiers on ete effaces.) else echo %NbDelFile% fichier a ete efface.

goto :end

:RecupNomFichier
echo %~1
for /f "tokens=4* delims= " %%j in ('"echo %~1"') do call :OnEfface "%%j %%k"
goto :eof

:OnEfface
set /a NbDelFile=%NbDelFile%+1
echo %~1 %~2
rem del "%chemin%%~1 %~2"
goto :eof

:end
pause > nul



a+
Messages postés
140
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
5 septembre 2014
1
Si j'étais toi, je me retournerais plutôt du côté des sites de freelances... Tu peux toujours me contacter par message privé, ce n'est pas très compliqué à faire, mais en même temps, pas gratuit...

C'est comme d'arriver au garage et de dire au mécanicien: à l'aide je n'y connais rien en mécanique! J'ai besoin d'une âme charitable pour changer mes freins!
Messages postés
4
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
15 février 2011

Merci beaucoup de ton aide
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Salut,

pareil que l'ami jibob ! du coup je te propose une autre méthode

voici une autre méthode qui s'appuie sur les Cmd du Dos... au risque d'en choquer quelques-uns.b

à coller dans un fichier .bat

@echo off

set NbDelFile=0
set chemin=%userprofile:~0,1%

for /f "skip=4 tokens=2* delims=:" %%i in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Desktop') do set

chemin=%chemin%:%%i\

echo Recherche des fichiers crees le %date%, dans le repertoire
echo %chemin%
echo.

for /f "tokens=*" %%i in ('Dir "%chemin%*.*" /a:-d /O:-d /t:c ^| findstr /i /m %Date%') do call :RecupNomFichier "%%i"

echo.
if %NbDelFile%==0 echo Aucun fichier trouve ! & goto :end
if %NbDelFile% GTR 1 (echo %NbDelFile% fichiers on ete effaces.) else echo %NbDelFile% fichier a ete efface.

goto :end

:RecupNomFichier
echo %~1
for /f "tokens=4* delims= " %%j in ('"echo %~1"') do call :OnEfface "%%j %%k"
goto :eof

:OnEfface
set /a NbDelFile=%NbDelFile%+1
echo %~1 %~2
rem del "%chemin%%~1 %~2"
goto :eof

:end
pause > nul


A+
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
ah oui j'ai oublié de préciser que pour ne pas effacer mes fichiers pendant les tests de ce script,

j'ai mis la ligne qui supprime les fichiers en commentaire. Donc il faut enlever le "rem" de la ligne:

rem del "%chemin%%~1 %~2"

A+
Messages postés
4
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
15 février 2011

merci pour votre aide, je savais que je pouvais compter sur ce forum

Je teste les deux solutions et je vous tiens au courant

A+
Messages postés
4
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
15 février 2011

Merci bigfish,

Je viens de tester ta deuxième version, que du bonheur, le bureau est tout propre.

En plus, je comprends un peu mieux ce que ça veut dire en cmd, j'ai même osé une folie, j'ai supprimé la pause à la fin du script

Si jamais je peux aider, je suis un peu moins nul dans le domaine de la sécurité (crypto, chiffrement, smartcard, sso, ...), dans les solutions antivirus et tout ce qui tourne autour de l'AD et des GPO.

Encore merci à tous pour votre aide.

A+