begin process at 2012 02 09 23:18:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Windows

 > 

Autre

 > 

[VBS] supprimmer un fichier sans connaitre son emplacement exact


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[VBS] supprimmer un fichier sans connaitre son emplacement exact

lundi 8 juin 2009 à 14:20:53 | [VBS] supprimmer un fichier sans connaitre son emplacement exact

zatox

Bonjour à tous, j'espère ue je suis au bon endroit pour poser cette question. j'aimerai savoir s'il est possible en avec un script vbs de supprimmer un fichier sur le disque dur sans connaitre son emplacement exact sur le disque. Je m'explique, j'ai un fichier nommé "MechantVirus.exe" logé quelquepart sur le disque dur, mais je ne sais pas où exactement. est-il possible de développer un petit script supprimant ce "MechantVirus.exe" peu importe son emplacement sur le disque? Merci d'avance à ceux qui m'aideront

[ Lien ]
lundi 8 juin 2009 à 14:25:53 | Re : [VBS] supprimmer un fichier sans connaitre son emplacement exact

Mayzz

Membre Club
Bonjour,

je ne suis pas un exepert du vbs, mais il faut soit parcourir les disques et supprimer tout les fichiers dont le nom est "MechantVirus.exe", soit tu as le Hash ou CRC du fichier et la tu fais le tri dans la liste, pour ce qui est de l'implémentation du Hash/CRC... Aucune idée, je ne peux même pas te dire si c'est faisable en vbs... Par contre en postant une autre question sur le sujet quelqu'un te répondra certainement.

Mayzz.

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
<

lundi 8 juin 2009 à 14:30:46 | Re : [VBS] supprimmer un fichier sans connaitre son emplacement exact

zatox

Bonjour, merci pour ta réponse rapide, en fait, le script me servirait à supprimmer plusieurs dizaines de fichiers, mais la plupart a une taille variable, il n'y a que le nom qui est le même d'un pc à l'autre, donc impossible de travailler une un hash/CRC du fichier j'aurai besoin d'un exemple ( si c'est réalisable) de ligne de coses pour supprimmer un fichier, ensuite j'adapterai le code a ma base de données . merci d'avance

[ Lien ]
lundi 8 juin 2009 à 14:43:15 | Re : [VBS] supprimmer un fichier sans connaitre son emplacement exact

Mayzz

Membre Club
Ce doit être un truc du genre :

Function KillFile(Directory, FileName)

Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set rep=FSO.GetFolder(Directory)

Set Files = rep.Files

For Each File In Files
    If FSO.GetName(File.Path) = FileName then File.Delete
Next
 
For each subFolder in rep.SubFolders 
   KillFile(subFolder)
Next

End function

à appeler comme suit : Function KillFile ("c:\", "MechantVirus.exe")

Voila @+

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
<

lundi 8 juin 2009 à 14:51:12 | Re : [VBS] supprimmer un fichier sans connaitre son emplacement exact

bigfish_le vrai

Membre Club
Salut,

il est courant en vbs de mixer avec MsDos pour ce genre de chose.
je te propose un batch que j'ai ecrit il y a quelque temps deja et qui permet de recherché toute les occurences d'un  fichier:

Explication du fonctionnement:

il est possible d'utiliser le joker(*) dans le nom du fichier recherché pour remplacer 0 ou plusieurs caracteres. Avec cette nouvelle version
l'utilisation du joker en plus le l'option /a permettra par exemple de retrouver touts les fichier text d'un repertoire.

par exemple en supposant que le batch se nome recherche.bat

recherche /a *.txt c:\windows "/d:c:\temp\resultat recherche.txt"

le code batch:

@echo off
rem -----------------------------------------------
rem commande batch search
rem cree par Bigfish alias Philippe E
rem le 08-08-08
rem mis a jour le 18-11-08
rem -----------------------------------------------

rem initialisation des variables
setmyfilepath=
setmultiresult=false
setcompteur=0
setdestination=
setin=
setnosearchpath=false

rem on verifi qu'un parametre a ete specifie
rem le signe ~ supprime les double-quotes du parametre
ifnot "%~1"=="" gotostart

rem si pas de parametre
gotoerror

:start
rem on recupere les parametres
if "%~1"=="/" gotoerror
if /i "
%~1"=="/?" gotohelp
if /i "%~1"=="/a" (
    setmultiresult=true
    setmyfile=
%~2
   
    rem y a t'il un 3ieme parametre ?
    if "%~3"=="" gotoinitin

    rem si un chemin a ete specifie
    setin=%~3

    call :parametre %3 %4

    gotonext
)else(
    setmyfile=%~1

    rem y a t'il un 2ieme parametre ?
    if "%~2"=="" gotoinitin

    rem le 2ieme parametre est-il le chemin de recherche ?
    setin=%~2

    call :parametre %2 %3

    gotonext
)

rem si pas de chemin specifie on recupere le disque systeme
:initin
setin=%SYSTEMDRIVE%\

:next
echo.
echo Searching for file "%myfile%" in "%in%"
echo Please Wait...
echo.

rem  ces lignes recherchent myfile dans le disque ou chemin specifie et met le resultat dans la variable myfilepath ou dans le fichier specifié
if %multiresult%==true for /r "%in%" %%i in(*"%myfile%")docall :multiresultat "%%i"
if %multiresult%==false for /r "%in%" %%i in(*"%myfile%")dosetmyfilepath=%%i

rem on verifi que quelque chose a bien ete trouve
if %multiresult%==true (
    if %compteur%==0gotorientrouve
    if %compteur%==1echo %compteur% file found
    if %compteur% gtr1echo %compteur% files found
)else(
    if /i "%myfilepath%"=="" gotorientrouve
    if /i not "%destination%"=="" echo %myfilepath%>"%destination%"
    echo %destination%
    echo %myfilepath%  
)
echo.
gotofin

rem si aucun fichier
:rientrouve
echo no file found !
echo please check the file or the path specified
echo.
gotofin


rem si l'option /a a ete specifiee
:multiresultat
set /a compteur=compteur+1
echo %~1
if /i not "
%destination%"=="" (
    if
%compteur%==1(echo%~1>"%destination%")elseecho %~1>>"%destination%"
)
gotofin

:parametre
setbob=
%~1
setbob=%bob:~0,3%
if /i "%bob%"=="/d:" (
    setnosearchpath=true
    setin=%SYSTEMDRIVE%\
)else(
    setnosearchpath=false
)
if %nosearchpath%==true call :extractdestinationpath %1
if %nosearchpath%==false call :extractdestinationpath %2
gotofin

rem extraction du chemin de destination
:extractdestinationpath
if "%~1"=="" gotofin
setdestination=
%~1
setdestination=%destination:~3%
gotofin


:help
setNomCommande=%~n0
echo
%NomCommande% file
echo.
echo
%NomCommande%[/?][/A] filename [drive:][path][/D:destination]
echo
%NomCommande%[/?][/A] "filename" ["drive:path"]["/D:destination"]
echo.
echo     /A           Returns all the files found. If omitted, only the
echo                  last one found will be returned
echo     filename     Specifies the file to search
echo     drive:       Optional if no path specified
echo.
echo     Note that if no drive and path have been specified,
echo     the research will be done in the system drive
echo.
echo     /D:          Destination switch
echo     destination  Specifies the location and name of the file in where the
echo                  results will be written.
echo.
echo     You can use a quoted string in order to specify a file name
echo     or path that contains space:
echo.
echo    
%NomCommande% "My file.txt" "c:\program files\" "/D:c:\My folder\Result file.txt"
echo.
echo     You can also use the asterisk(*) as a substitute for zero or more
echo     characters.
echo.
echo    
%NomCommande% /A My*file*.txt "/D:c:\My folder\Result file.txt"
gotofin

:error
echo The syntax of the command is incorrect.
echo.
gotohelp

:fin
rem pause

rem @33ddI7IHd

Vous pouvez retrouver ce code ici

A+

lundi 8 juin 2009 à 16:05:18 | Re : [VBS] supprimmer un fichier sans connaitre son emplacement exact

zatox

Merci à tous les deux, Bigfish, en batch je sais faire, et c'est justement pour éviter de'avoir recours à du batch que je je voudrai le faire en vbs, (en fait j'ai développé un tool de nettoyage en batch que j'essaye de transcrire en VBS) pour des raisons de facilité d'utilisation pour les utilisateurs.

Mayzz je teste ton script et je te tiens au courant ;)
lundi 8 juin 2009 à 16:18:20 | Re : [VBS] supprimmer un fichier sans connaitre son emplacement exact

zatox

bon je viens de tester, regardes, j'ai modifié comme tu l'a expliqué Function KillFile ("C:\", "VEGAVEGAVEGA.txt") Set FSO = WScript.CreateObject("Scripting.FileSystemObject") Set rep=FSO.GetFolder(Directory) Set Files = rep.Files For Each File In Files If FSO.GetName(File.Path) = FileName then File.Delete Next For each subFolder in rep.SubFolders KillFile(subFolder) Next End function mais celà ne semble pas fonctionner, j'ai ce message

ligne 1
caract 20
identificateur attendu


[ Lien ]
lundi 8 juin 2009 à 16:20:10 | Re : [VBS] supprimmer un fichier sans connaitre son emplacement exact

zatox

désolé pour la mise en page, mais si on doit commencer à écrire tous nos messages en HTML sur ce forum...
lundi 8 juin 2009 à 20:15:02 | Re : [VBS] supprimmer un fichier sans connaitre son emplacement exact

Mayzz

Membre Club

Re,

Bon du coup j'ai testé le script, il y avais deux ou trois erreurs que j'ai corrigé (dont l'appel à la fonction) et tout cela fonctionne.

KillFile "d:\Mayzz\Desktop","test.txt"

Function KillFile (Directory, FileName)
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set rep=FSO.GetFolder(Directory)
Set Files = rep.Files
For Each File In Files
If FSO.GetFileName(File.Path) = FileName then File.Delete
Next
For each subFolder in rep.SubFolders
KillFile subFolder, FileName
Next
End function

Ne change que l'appel à la focntion (la ligne en bleu)

@+

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
<

mardi 9 juin 2009 à 10:25:51 | Re : [VBS] supprimmer un fichier sans connaitre son emplacement exact

zatox

Merci beaucoup Mayzz

J'ai testé, et celà fonctionne à merveille.Meme si on doit connaitre le nom du repertoire, mais ce n'est pas grave pour l'instant
Je vais encore avoir besoin de ton aide,Comment modifier ce script pour supprimmer un deuxième fichier? j'ai essayé en dupliquant la ligne en bleu, mais celà ne fonctionne pas, j'ai aussi essayé en duplicant 2 fois tout le code en changeant juste le nom du fichier, masi celà ne fonctionne pas non plus

ensuite, comment faire pour afficher le nom et le repertoire des fichiers supprimmés dans un fichier texte.

Un grand merci à toi Mayzz

[ Lien ]

1 2

Cette discussion est classée dans : fichier, vbs, disque, emplacement, supprimmer


Répondre à ce message

Sujets en rapport avec ce message

Vérifier la bonne copie d'un fichier [ par ekke ] Bonjour,Je dois faire un petit prog qui déplace des fichiers d'un disque à un autre. De préférence avec les API. Jusqu'ici ça va. Mais je souhaite fai Recherche de fichier sur disque dur. [VBS] [ par mat76 ] Bonjour,Tout d'abord je suis désolé , la question a du déjà être posé 1000 fois mais je ne trouve pas vraiment de réponse approprié à ce que je cherch copier un fichier ou un programme [ par rogerrabitt ] bonjour , j aurais aimé savoir la commande en vbs pour copier ou plutot  cloner un fichier ou un programme sur le dique c:\ en cliquant dessus.exemple ouverture fichier excel [ par xaeris ] bonjour tout le monde ! j'ai un problème que me pose un léger probleme je developpe une appli vb6 qui gere un ficheir excel exterieur ( ca n'est pas Programme VBS [ par tkhaled53 ] Bonjour tout le monde, je suis un « très grand » débutant en programmation  je suis là en espérant que je trouverai des réponses à mes interrog VBS : Rechercher une valeur dans un tableau excel [ par sboulic ] Bonjour,Novice en VBScript (en prog tout court), je dois modifier un script de logon windows (.vbs) pour aller chercher une veleur dans un fichier.J'a VBS Chercher et remplacer une ligne par une autre dans un fichier texte [ par toulouz1 ] Bonjour,Je suis relativement débutant en VBS, galère sur un pb que je supposais simple et tranquille au départ, en VBS : J'ai un fichier texte avec un vbs : Faire un archiveur [ par cedric4242 ] Bonjour, Je cherche a réaliser un archiveur en vbs (je sais idée bizard mais c'est pour mon ecole). Je souhaite donc pouvoir concaténer différents typ Box pour choisir un fichier texte sur le disque dur [ par bimone78 ] Bonjour,je souhaiterai pouvroir créer une dialogbox qui me permettrait de choisir le fichier sur le disque dur comme si l'on passait par poste de trav


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,775 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales