IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Impossible d'exécuter un fichier .bat


Sujet :

Scripts/Batch

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut Impossible d'exécuter un fichier .bat
    Bonjour.

    Je suis sous windows 7.

    J'ai un fichier .bat que je voudrais pouvoir lancer en double cliquant dessus, au lieu de s'exécuter cela ouvre le fichier dans le bloc-notes.

    Options des dossiers > Affichage > la case "Masquer les extensions des fichiers dont le type est connu" est décochée. Le fichier à bien une extension .bat, type de fichier "Fichier BAT".

    Ce même fichier je l'ai dupliqué et sauvegarder avec extension.VBS, en double cliquant dessus lors de l'exécution du script il affiche le message d'erreur suivant :

    Nom : message_erreur_script_vbs.jpg
Affichages : 13723
Taille : 21,0 Ko

    Je précise que je suis débutant et pas familier avec ce type langage, je n'arrive pas à comprendre pourquoi cela ne fonctionne pas.

    Après avoir cherché longtemps sur le net sans avoir trouvé de réponse, je fais appel à votre aide dans un domaine que je ne connais pas assez bien.

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 836
    Points : 9 217
    Points
    9 217
    Par défaut

    Vous pouvez facilement éditer vos fichiers .bat ou bien .vbs par un simple éditeur de texte comme par exemple notepad ou bien Notepad++
    Donc juste vous faites un clique droit sur le fichier en question puis ouvrir avec notepad ou bien notepad++ ; puis vous pouvez alors poster leurs contenus ici dans votre prochaine réponse

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut
    Bonjour hackoofr

    Merci de vous intéressé à mon problème voici le script du fichier .bat concerné.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    xcopy "I:\Mes documents" d:\SaveMesDocuments / c / d / e / h / i / k / q / r / s / x / y 'bug caratère 26
    rem Pour mettre à jour les fichiers du répertoire I:\Rapports avec les fichiers du répertoire D:\Données qui ont changé depuis le 01 janvier 2013
    rem xcopy \Données \Rapports /d:01-01-2013
    pause
    A+

  4. #4
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 836
    Points : 9 217
    Points
    9 217
    Par défaut
    Citation Envoyé par modus57 Voir le message
    Ce même fichier je l'ai dupliqué et sauvegarder avec extension.VBS, en double cliquant dessus lors de l'exécution du script il affiche le message d'erreur suivant
    Nom : message_erreur_script_vbs.jpg
Affichages : 13723
Taille : 21,0 Ko
    Bien sûr il ne marche pas car le contenu est supposé être exécuter en tant que fichier Batch
    Voila pour que tu familiarise un peu avec ces deux types de langages, je t'invite à tester ces deux scripts simples
    1- en Batch Enregistrer-sous le nom TestFile.bat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    echo Hello World !
    Pause
    2- en Vbscript Enregistrer-sous le nom TestFile.vbs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "Hello World !",64,"Hello World !"

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut
    J'ai enregistré le premier sous le nom TestFile.bat en double cliquant dessus, au lieu de s'exécuter il s'ouvre dans le bloc-notes Notepad++.

    Par contre le deuxième fichier que j'ai enregistrer sous le nom TestFile.vbs en double cliquant dessus il s'exécute.

    Mon script :
    xcopy "I:\Mes documents" d:\SaveMesDocuments / c / d / e / h / i / k / q / r / s / x / y 'bug caratère 26
    rem Pour mettre à jour les fichiers du répertoire I:\Rapports avec les fichiers du répertoire D:\Données qui ont changé depuis le 01 janvier 2013
    rem xcopy \Données \Rapports /d:01-01-2013
    pause
    C'est du batch ou du vbs

    Je suis vraiment nul et je comprends toujours pas pourquoi TestFile.bat ne fonctionne pas même en l'exécutant à partir de Notepad++ ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut
    Bonsoir hackoofr

    Voilà ce que j'ai trouvé sur un autre forum :
    1)Ouvre l'invite de commandes de Windows (Démarrer -> Exécuter -> cmd)
    2)Glisse-dépose ton fichier .bat dans la console. Normalement, tu devrais voir apparaître le chemin compèlet jusqu'à ton fichier
    3)Presse "Enter".
    Là ça marche, mais c'est étrange qu'en double cliquant sur le fichier TestFile.bat il s'ouvre dans le bloc-notes Notepad++, mystère !

  7. #7
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par modus57 Voir le message
    mais c'est étrange qu'en double cliquant sur le fichier TestFile.bat il s'ouvre dans le bloc-notes Notepad++, mystère !
    salut,

    je n'ai pas seven, donc je ne peux pas t'aider mais je vais te donner des piste:

    1- essaye d'enregistrer ton fichier batch avec l'extension .cmd au lieu de .bat puis essaye si ça marche
    2- sinon tu peux chercher l'association de tes fichiers .bat et .cmd avec la commande assoc puis modifier l'association de ces fichiers à l'aide de la commande ftype ..dans mon xp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    D:\>assoc .bat
    .bat=batfile
    
    D:\>ftype batfile
    batfile="%1" %*
    
    
    D:\>assoc .txt
    .txt=txtfile
    
    D:\>ftype txtfile
    txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1
    pour plus d'aide voir

    assoc /? et ftype /?

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut
    Bonjour I'm_HERE

    Je vous remercie pour votre participation à cette discussion en apportant la solution au problème que je rencontrais.

    En effet il a suffit d'enregistrer le fichier batch avec l'extension .cmd au lieu de .bat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @echo off
    echo Hello World !
    xcopy "I:\Mes documents" "D:\SaveMesDocuments\Mes Documents" /d:07-01-2013 
    Pause
    De plus en utilisant le format date : mm-jj-aaaa pour la fonction xcopy voir lien http://www.developpez.net/forums/d88...-date-syntaxe/ ça fonctionne nickel chrome.

    Je poursuis mon apprentissage en essayant de compléter le script afin de synchroniser les dossiers, sous- dossiers et fichiers modifiés, supprimés ou créés de la source vers la destination et créer un fichier log pour tracer la liste de ces fichiers, la date-heure de début, la date-heure de fin, le nombre de fichiers et leurs taille totale.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut
    Bonjour.☼

    Je reviens sur cette discussion car j'ai bien progresser, finalement je préfère Robocopy à Xcopy qui offre plus de possibilités.

    Voici le code qui doit permettre en principe de synchroniser 2 répertoires, mais petit souci à l'exécution, la fenêtre de commande dos s'ouvre et se referme immédiatement et il ne se passe rien ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    CLS
    @Echo Off
    
    rem détermine le jour de la sauvegarde
    FOR /F "Tokens=1 Delims= " %%a IN ('now') DO SET JOUR=%%a
    IF %JOUR%==Mon Set JOUR=Lundi
    IF %JOUR%==Tue Set JOUR=Mardi
    IF %JOUR%==Wed Set JOUR=Mercredi
    IF %JOUR%==Thu Set JOUR=Jeudi
    IF %JOUR%==Fri Set JOUR=Vendredi
    IF %JOUR%==Sat Set JOUR=Samedi
    IF %JOUR%==Sun Set JOUR=Dimanche
    
    rem positionnement du fichier log
    set FichierLog="D:\SaveMesDocuments\MesDocuments\Log_SaveMesDocuments_du_%JOUR%_%date%.log"
    
    rem récupère la date et l'heure de début de traitement
    for /F "tokens=1,2,3,4 delims=/, " %%i in ('date /T') do set date=%%l-%%k-%%j-%%i
    for /F "tokens=1,2 delims=:, " %%i in ('time /T') do set time=%%i_%%j
    
    rem trace de la sauvegarde
    echo Debut de la sauvegarde quotidienne du %JOUR% %date% à %time% >> %FichierLog%
    echo ------------------------------------------------------------ >> %FichierLog% 
    
    rem création de la structure du répertoire de sauvegarde
    if not exist "D:\SaveMesDocuments\MesDocuments"\nul mkdir "D:\SaveMesDocuments\MesDocuments"
    
    RoboCopy C:\Users\Louis\Documents  "D:\SaveMesDocuments\MesDocuments" /MIR /DST /R:1 /W:1 /NP /XA:S /XF *.tmp *.bak /TEE /MAXAGE:180 
    
    echo Fin de la sauvegarde quotidienne du %JOUR% %date% à %time% >> %FichierLog%
    echo ---------------------------------------------------------- >> %FichierLog% 
    
    Pause
    Je n'arrive pas à cerner le problème, quelqu'un a-t-il la solution.

    Merci d'avance pour votre aide.

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mars 2014
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Mars 2014
    Messages : 158
    Points : 462
    Points
    462
    Par défaut
    je suis sous seven et un .bat se lance bien en tant que fichier bat vérifie si tu ne serais pas infecter par un virus qui changerais la dénomination des extension a savoir un bat s'ouvre avec cmd.exe et non le blocnote donc je te conseille de faire un petit check avec roguekiller (oui un peu de pub ^^)

    sinon click droit sur un fichier .bat choisir le programme par défaut et tu prend la cmd

  11. #11
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Essaye donc en faisant ceci:
    Edite ton .bat:
    CLS
    @Echo Off
    en
    Touche Windows+R (ou Démarrer->Exécuter) => tape "cmd", appuie sur Entrer (une fenêtre DOS apparait) et glisse ton fichier .bat dans cette fenêtre, le chemin absolut du fichier va apparaître et fait une nouvelle fois Entrer.
    Avec @echo ON on verra si toutes les lignes se sont bien exécutées et tu verras exactement où ton script merdouille, si il merdouille, c'est souvent que je suis obligé de faire passer mes scripts par une CMD pour qu'ils ne se ferment pas tout seul xD

    -----------------------------------------------------------------------------
    Citation Envoyé par Comandant Chaos Voir le message
    vérifie si tu ne serais pas infecter par un virus qui changerais la dénomination des extension a savoir un bat s'ouvre avec cmd.exe et non le blocnote donc je te conseille de faire un petit check avec roguekiller (oui un peu de pub ^^)

    sinon click droit sur un fichier .bat choisir le programme par défaut et tu prend la cmd
    Ahah le scénario catastrophe directement, on les voit bien là les admins réseaux!

    Il faut commencer par le commencement, tester ma méthode (plus simple, plus "logique" (si il était infecté, et va trouve run virus qui bloque juste l'exécution des .bat xD, ou si les .bat étaient associés à un autre programme dans le Regedit, la fenêtre DOS ne s'ouvrirait même pas...).
    Sinon pour ta pub, je ne suis pas certain que ce soit apprécié et en plus ça n'est pas utile dans ce cas...

    Mais si t'as envie de nettoyer ton PC pourquoi ne pas utiliser Ccl****r, malw***b***s et un scan Kasp***y en prime (3 marques implicitement nommées, je suis dans la légalité xD).
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut
    Bonjour devilsnake88. ☼

    Merci pour ta réponse.

    En effet en glissant le fichier .cmd dans la fenêtre Dos, ça bloque à la ligne FOR /F.

    Nom : cmd test.jpg
Affichages : 12033
Taille : 38,5 Ko

    Que faut-il faire pour contourner ce problème ?

  13. #13
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Salut,
    ton "now" ne correspond à RIEN!
    c'est comme dire "dans le mot 'now' trouve moi la date du jour" xD
    Il faut que ton now soit égale à la date je pense (je n'ai pas vraiment regardé ton code, je ne suis pas chez moi)

    bref pour que ton 'now' soit accepté il faut faire quelque chose du genre:
    set now= un_code_pour_récupérer_la_date
    Je pense que Google ou d'autres personnes sur ce forum pourront t'aider pour ce petit bout de code ^^
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  14. #14
    Membre confirmé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mars 2014
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Mars 2014
    Messages : 158
    Points : 462
    Points
    462
    Par défaut
    @devilsnake88 je côtoie tellement de pc infecter ces dernier temps donc oui scénario catastrophe et vous les dev vous vous faites des super pc ou vous travaillez dans des caves pour les éviter ^^
    et pour revenir au sujet pourquoi utiliser une variable now spécifie le chemin d'accès ça devrait suffire non?

  15. #15
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    @Comandant Chaos: Juste pour info:
    Je ne suis pas développeur, je dev pour mes projets perso et/ou pour des besoins au travail.
    Et pour l'histoire des caves, tu devrais changer "caves" par "chambres" et après c'est une question de savoir sécuriser son parc info (ton boulot comme le mien?) xD
    *J'adore ces petits dialogues xD*

    Bref, pour en revenir à ce post, je n'ai pas regardé le code en totalité mais il semble qu'il réagisse en fonction de la date donc pas besoin de répertoire.
    Je regarderais ça soit demain soit dimanche mais si tu as des idées, lâche toi ^^
    ________________________________________________________________
    N'oublie pas de faire une sauvegarde avant d'exécuter des scripts...
    Si j'ai ton problème, un petit fait toujours plaisir!
    ________________________________________________________________

  16. #16
    Membre confirmé
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Mars 2014
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Mars 2014
    Messages : 158
    Points : 462
    Points
    462
    Par défaut
    @devilsnake88 pareil ^^

    pour le code je vient de m'y plongé déjà supprime ton "token=1 delim= " ça sert a rien ça peut que causer des erreur ensuite ton do essais de mettre des parenthése avec sinon je vois pas ce qui peut clocher

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut
    Bonsoir.

    J'ai trouvé sur un autre forum l’information suivante, je cite Jean Claude BELAMY :
    Le jour de la semaine a été supprimé dans la variable d'environnement
    %DATE% à partir de Windows XP! (il y figure sous Windows 2000)
    Voila pourquoi mon batch ne fonctionne pas.

    Existe t'il une autre possibilité ?

  18. #18
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Salut,

    Tu peux utiliser "WMIC" pour récupérer le jour de la semaine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ::GET DAY OF THE WEEK BY SACHADEE 2013
    
    @echo off&cls
    for /f "skip=1 tokens=1" %%a in ('wmic path win32_localtime get dayofweek ^| findstr /b /r "."') do set /a dds=%%a +1
    for /f "tokens=%dds%" %%a in ("Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi") do set jour=%%a
    echo Aujourd'hui c'est : %jour%
    pause
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  19. #19
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 836
    Points : 9 217
    Points
    9 217
    Par défaut
    Sacha et Merci pour l'astuce
    Je veux transformer ton code avec un vbscript mais j'ai un petit problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Option Explicit
    Function Executer(StrCmd,Console)
     Dim ws,MyCmd,Resultat
     Set ws = CreateObject("wscript.Shell")
    'The value 0 to hide the console of MS-DOS
     If Console = 0 Then
     MyCmd = "CMD /C " & StrCmd & " "
     Resultat = ws.run(MyCmd,Console,True)
     End If
    'The value 1 to show the console MS-DOS
     If Console = 1 Then
     MyCmd = "CMD /K " & StrCmd & " "
     Resultat = ws.run(MyCmd,Console,True)
     End If
     Executer = Resultat
    End Function
    '***********************************************************Some Examples*******************************************************************
    'Call Executer("mode con cols=80 lines=30 & Color 0A & Title Help for Rar in command line & cd %programfiles%\winrar & cmd /k Rar /?",1)'showing the console
    'Call Executer("mode con cols=80 lines=30 & Color 0A & Title Help for FCIV in command line & cd %programfiles%\FCIV & cmd /k FCIV.exe /?",1)'showing the console
    'Call Executer("mode con cols=90 lines=15 & Color 0A & Title Ping sur www.visualbasicscript.com by Hackoo & Ping www.visualbasicscript.com",1)'showing the console
    'Call Executer("FindStr /? > HelpFindStrTmp.txt & cmd /U /C Type HelpFindStrTmp.txt > HelpFindStr.txt & start HelpFindStr.txt",0) 'console in hidden mode
    'Call Executer("mode con cols=80 lines=50 & Color 9B & Title Hackoo & netstat -a",1) 'showing the console
    'Call Executer("mode con cols=80 lines=30 & Color 9B & Title Tracert to www.visualbasicscript.com by Hackoo & Tracert www.visualbasicscript.com",1)'showing the console
    '***********************************************************Some Examples*******************************************************************
    'Call Executer("cd %programfiles%\Microsoft Dynamics CRM\Client\ConfigWizard & cmd /k Microsoft.CRM.Application.Outlook.ConfigWizard.exe /Q /i %TEMP%\config_client.xml /xa",1) 
    'Call Executer("cd %programfiles%\DVD Maker & DVDMaker.exe",1)
    'Call Executer("cd %programfiles%\comodo\comodo internet security & virtkiosk.exe",0)
    Dim MaCmd 
    MaCmd = "@echo off & for /f ""skip=1 tokens=1"" %a in ('wmic path win32_localtime get dayofweek ^| findstr /b /r "".""') do set /a dds=%a +1 & for /f ""tokens=%dds%"" %a in (""Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi"") do set jour=%a & echo Aujourd'hui c'est le : %jour% & pause"
    msgbox MaCmd
    Call Executer(MaCmd,1)
    Merci de me corriger

  20. #20
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut
    Bonjour sachadee

    Merci pour cette excellente solution que j'ai adaptée, voici mon nouveau batch:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    CLS
    @Echo Off
    
    rem détermine le jour de la sauvegarde
    for /f "skip=1 tokens=1" %%a in ('wmic path win32_localtime get dayofweek ^| findstr /b /r "."') do set /a dds=%%a +1
    for /f "tokens=%dds%" %%a in ("Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi") do set JOUR=%%a
    
    rem positionnement du fichier log
    set FichierLog="D:\SaveMesDocuments\SaveMesDocuments\Log_SaveMesDocuments_du_%JOUR%_%date%.log"
    
    rem récupère la date et l'heure de début de traitement
    for /F "tokens=1,2,3,4 delims=/, " %%i in ('date /T') do set date=%%l-%%k-%%j-%%i
    for /F "tokens=1,2 delims=:, " %%i in ('time /T') do set time=%%i_%%j
    
    rem trace de la sauvegarde
    echo Debut de la sauvegarde quotidienne du %JOUR% %date% à %time% >> %FichierLog%
    echo ------------------------------------------------------------ >> %FichierLog% 
    
    rem création de la structure du répertoire de sauvegarde
    if not exist "D:\SaveMesDocuments\SaveMesDocuments"\nul mkdir "D:\SaveMesDocuments\SaveMesDocuments"
    
    RoboCopy "C:\Users\xxxxx\Documents"  "D:\SaveMesDocuments\SaveMesDocuments" /MIR /DST /R:1 /W:1 /NP /XA:S /XF *.tmp *.bak *.tumbs /TEE /MAXAGE: 17-09-2013 /LOG+:%FichierLog%
    
    echo Fin de la sauvegarde quotidienne du %JOUR% %date% à %time% >> %FichierLog%
    echo ---------------------------------------------------------- >> %FichierLog% 
    
    Pause
    Petite question complémentaire comment obtenir la date au format aa.mm.jj dans le nom du log pour permettre un classement par année.

Discussions similaires

  1. Site ASP.NET et Exécution de fichier (.bat)
    Par dahu17 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 24/04/2007, 16h56
  2. Impossible d'exécuter un fichier .php
    Par soso78 dans le forum IIS
    Réponses: 2
    Dernier message: 23/10/2006, 23h59
  3. Comment exécuter un fichier .Bat sans ouvrir la console DOS
    Par digital prophecy dans le forum Windows XP
    Réponses: 4
    Dernier message: 20/06/2006, 13h01
  4. Réponses: 5
    Dernier message: 20/01/2006, 11h27
  5. Exécuter un fichier .BAT sur une machine distante
    Par ruff15 dans le forum Windows
    Réponses: 4
    Dernier message: 14/09/2005, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo