Bonjour
J'aimerais créer un petit fichier .vbs, qui me permet quand je le double clique dessus de lancer une application, puis quand l'utilisateur ferme l'application, mon programme se remet à executer le code qui va aller copier le contenu d'un dossier A vers un dossier B, en n'écrasant uniquement les fichiers de date inférieure.
Je précise que je n'utilise aucun logiciel de programmation, je n'utilise que le bloc note en .txt, que je renomme après en .bat ou .vbs .
J'avais dans un premier temps commencé avec un .bat, mais le souci est la fenêtre d'invite de commande, et souhaitant que mon script s'exécute en silencieux (pour éviter que l'utilisateur puisse fermer l'invite d ecommande et donc interrompre mon programme) je suis alors passer à une autre solution.
monfichier.bat :J'ai alors essayer de créer en plus un fichier .vbs, qui vienne exécuter mes commandes batch, permettant de ne pas afficher l'invite de commande.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 @echo off c:\Progra~1\repertoire\application.exe xcopy D:\dossierA\ P:\dossierB\ /d /y /i
monfichier.bat :monfichier1.vbs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 @echo off c:\Progra~1\repertoire\application.exe xcopy D:\dossierA\ P:\dossierB\ /d /y /i
Tout marche bien ormis le fait qu'il ne copie pas les fichiers, on dirait que la commande xcopy n'est pas prise en compte, ou ne marche pas avec le vbs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell" ) WshShell.Run "monfichier.bat", SW_HIDE,true
J'ai enfin tenter directement un seul fichier .vbs qui ferait les deux tâches directement :
Donc là mon application s elance bien, et avec la valeur 1 il n'exécute la suite du code que quand l'application ets fermée, mais derrière je n'arrive toujours pas à copier mes fichiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set WshSell = WScript.CreateObject("WScript.Shell") Return = WshShell.Run("Application.exe" , 1, true)
Ou encore d'une autre tentative :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set copier = CreateObject("Scripting.FileSystemObject") copier.CopyFile "D:\dossierA\PFE.docx","P:\dossierB",True
Voila je sais que quelqu'un qui sait programmer aurait trouver comment faire cette requête en 5 minutes ou moins, mais je suis loin d'être un crack de la programmation, et mes recherches jusqu'à présent ont été infructueuse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim copier As FileSystemObject Set copier = New FileSystemObject copier.CopyFolder "D:\dossierA", "P:\dossierB", True Set copier = Nothing
Merci d'avance de vos réponses.
Partager