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 :

Problème avoir un batch


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut Problème avoir un batch
    Bonjour à tous,


    J'ai fais un script ou le .batch crée un dossier si il n'existe pas déjà avec comme nom:

    nomordinateur ## date # heure



    voici la fonction seul (qui fonctionne correctement seul )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if not exist "C:\Users\Administrateur\Desktop\%computername% ## %DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4% ## %time:~0,2%h%time:~3,2%m%time:~6,2%s" (
    md "C:\Users\Administrateur\Desktop\%computername% ## %DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4% ## %time:~0,2%h%time:~3,2%m%time:~6,2%s"
    )

    Par contre dés que je l'intègre au script principale, celui-ci me crée bien le dossier néanmoins, il a un comportement déviant qui consiste à changer l'heure de l'ordinateur ensuite (il prend l'ancienne heure en compte pour la création du dossier) et à la mettre à 5H 00 et 00 seconde (en rouge dans le code)

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    @echo off
    @cls
    
    if not exist D:\%computername%\ (
    md D:\%computername%\
    )
    
    
    
    echo Date de creation: %DATE% > D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    echo Heure creation:  %time:~0,8% >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    echo Nom utilisateur: %USERNAME% >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    echo Nom ordinateur: %COMPUTERNAME% >> D:\%computername%\scriptappel_%computername%.log
    cls
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    
    
    
    
    
    @echo ------------------------------------------------Appel du batch------------------------------------------------ >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @echo *******************************creation de l emplacement reseau******************************* >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @net use T: \\nomrodi\nomdudossier mdp /user:utilisateur@domaine.extension
    @echo creation de l'emplacement reseau traite >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    
    
    
    
    @echo *******************************Mappage batch(s) dans l'emplacement reseau******************************* >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @set /a nbFichiers=0
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: %nbfichiers% >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    
    
    
    @echo *******************************appel du fichier test.bat******************************* >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    
    :newtest
    
    for %%f in (T:\*.bat) do (echo Fichier en traitement : %%f
                                       call :process %%f)
    
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @echo. >> D:\%computername%\scriptappel_%computername%.log
    @timeout 30
    
    
    if not exist "C:\Users\Administrateur\Desktop\%computername% ## %DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4% ## %time:~0,2%h%time:~3,2%m%time:~6,2%s" (
    md "C:\Users\Administrateur\Desktop\%computername% ## %DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4% ## %time:~0,2%h%time:~3,2%m%time:~6,2%s"
    )
    
    
    
    
    @echo *******************************suppression emplacement reseau******************************* >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @echo. >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @net use T: /delete /yes
    @echo suppression emplacemement reseau traite >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @echo. >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @echo. >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    
    
    
    @echo ******************************* copie fichier log ******************************* > C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @net use T: \\nomordi\audossieràatteindre mdp /user:nomutilisateur@domaine.extension
    xcopy D:\%computername%\ T:\ /E /Q /Y
    @net use T: /delete /yes
    @echo Mouvement de fichiers ok >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @echo. >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @echo. >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    time 5
    
    
    
    
    @echo *******************************Suppression des traces******************************* >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @echo. >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @rmdir C:\sources\ /s /q
    @echo suppression du dossier source traite >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @rmdir D:\%computername%\ /s /q
    @echo suppression du dossier log traite >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @echo. >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    @echo. >> C:\Users\Administrateur\desktop\log\scriptfinaux_%computername%.log
    goto end
    
    :process
    start %1
    @echo appel du fichier %1.bat prit en compte >> D:\%computername%\scriptappel_%computername%.log
    
    :end
    pause


    Avez-vous une idée de pourquoi ce comportement?



    Autre chose, je n'arrive pas à faire en sorte qu'il copie le dossier complet (le nom du dossier + les documents à l'intérieur de ce dossier) sur le serveur. (la partie est en verte dans le code).


    Avez vous une idée?



    Merci d'avance pour votre aide


    Louispeperman

  2. #2
    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
    Par défaut
    Salut,

    Pour ton problème en rouge j'ai testé, il fonctionne bien.

    Mais une petite remarque. Faire un IF pour tester si un dossier a la meme date, la même heure, la même minute et la même seconde n'a pas vraiment de sens. Tu peux directement créer ton fichier parce qu'il n'existera jamais !!!

    Ensuite ,autre remarque, si tu a plusieurs echo à faire à la suite dans ton log.

    (
    echo bla bla bla
    echo. bli bli
    echo.&echo.&echo.
    echo ******FIN******)>>ton_fichier.log

    Amicalement

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut
    Merci d'avoir prit du temps pour me repondre et je prend bien en compte tes remarques.


    Pour le test avec le test en If not exist, le but était en faite en sorte que l'utilisateur/fichier de réponse ne lance pas le script plusieurs fois à la suite (en moins d'une seconde ). C'était juste en tant que sécurité. Mais si tu dis que ça vaut pas le coup, je le retire ainsi y'a moins de risque d'interférence.


    Pour les écho, ça marche aussi avec le "echo." ? car y'a des moments ou j'en fais un paquet donc ce serait pas mal de les rassembler.


    Je savais pas qu'on pouvait les rassembler ainsi. c'est très bon à savoir car ça rendra le code beaucoup plus lisible (que j'ai commencé à commenté avec REM sur d'autre)


    Amicalement

    Louispeperman

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut
    Autre chose, je voulais savoir si il existe un moyen de récupérer l'éventuelle message d'erreur de la commande (dans la cmd) pour les mettre dans des logs en .txt .

    Sinon, comment vous géreriez les erreurs sur ce type de script?


    modif à 16H45:

    Vous utiliseriez une chose de ce genre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    IF %ERRORLEVEL%==0 (
    ECHO aucune erreur > C:\Users\Administrateur\Desktop\situation.txt
    )
    
    IF %ERRORLEVEL%==1 (
    ECHO erreur > C:\Users\Administrateur\Desktop\situation.txt
    )


    modif 17H 36:
    Au dessus, je pense que c'est presque réglé finalement par contre j'essaye de faire que le script appelé retourne quelque chose si il est actif et sinon, il retourne rien du coup


    en gros ce serait un if script.batch return 50 (par exemple) message: script.batch bien lancé sinon, message: script.batch à une erreur de lancement.

  5. #5
    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
    Par défaut
    Si tes scripts sont lancés avec START. tu peux savoir si une nouvelle instance du cmd est active avec tasklist.

    Ou dans chaque script tu inclut un pour donner un titre à chaque nouvelle instance de cmd que tu lance.

    et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tasklist /fi "windowtitle eq SCRIPT1"
    tu peux savoir si ce script est actif ou non.

    Amicalement

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut
    Bonjour !

    Désolé d'avoir répondu aussi tard, c'est que j'étais occupé à autre chose ces dernières temps sinon c'est une super bonne idée le coup du test la présence de la deuxième CMD.


    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    @echo off
    @cls
    
    if not exist D:\log##%computername%\ (
    md D:\log##%computername%\
    )
    
    echo. > "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    echo Date de creation: %DATE% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    echo Heure creation:  %time:~0,8% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    echo Nom utilisateur: %USERNAME% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    echo Nom ordinateur: %computername% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    cls
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    
    
    @echo ------------------------------------------------Appel du batch------------------------------------------------ >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo *******************************creation de l emplacement reseau******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @net use T: \\nomserv\dosser1 mdp /user:utilisateur@domaine.extension
    @echo creation de l'emplacement reseau traite >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo *******************************Mappage batch(s) dans l'emplacement reseau******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @set /a nbFichiers=0
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: %nbfichiers% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo *******************************appel du fichier test.bat******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    
    :newtest
    
    for %%f in (T:\*.bat) do (echo Fichier en traitement : %%f
                                       call :process %%f)
    
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    @timeout 30
    
    @echo *******************************suppression emplacement reseau******************************* > "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @net use T: /delete /yes
    @echo suppression emplacemement reseau traite >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    
    @echo ******************************* copie fichier log ******************************* > "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @net use T: \\nomserv\dossier2 mdp /user:nomutilisateur@domaine.extension
    copy "D:\log##%computername%\" "T:\" /D /Y
    copy "D:\log\" "T:\" /D /Y
    @net use T: /delete /yes
    @echo Mouvement de fichiers ok >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    
    @echo *******************************Suppression des traces******************************* >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @rmdir C:\sources\ /s /q
    @echo suppression du dossier source traite >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @rmdir D:\log\ /s /q
    @rmdir D:\log##%computername%\ /s /q
    @echo suppression du dossier log traite >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    goto end
    
    :process
    start %1
    @echo appel du fichier %1.bat prit en compte >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m.txt"
    
    :end

    Au moment du copy (et xcopy j'ai aussi testé avec option) (en rouge dans le code), le dossier contenant les deux fichiers *.txt devrait être copier avec cependant, je retrouve sur le serveurs que les deux fichiers en vrac sur le serveur ce qui pose souci si je dois déployer 100 machines (ça ferait 200 fichiers en vrac sur le serveur).


    En gros, un fichier avec le nom et l'heure de l'ordinateur est crée donc en principe, je dois avoir que 1 dossier par ordinateur avec les deux fichiers log à l'intérieur (ainsi on peut vite voir si oui ou non le script à été appliqué et si non , pourquoi ça n'a pas été et ou)





    Autre question, la boucle (en vert dans le code) revoie t'elle un code retour? (0 pour aucune erreur et 1 si y'a une erreur) pour savoir si on peut utiliser IF %ERRORLEVEL% pour retourner un log si y'a une erreur



    Comment feriez vous pour la gestion des erreurs dans la boucle (en orange) sachant que y'a pas mal de chose qui sont faites ? (comme tu proposais, le test de l'ouverture de la deuxième fenêtre de commande? ). Ou mettriez-vous le teste ?

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut
    J'ai trouvé la solution (pour la copie) de contournement tout aussi simple.


    Pour ce qui est du code d'erreur d'un boucle (en vert sur le code ) est toujours d'actualité. Certe, il boucle plus (ou pas) si il a une erreur mais j'ai besoin d'envoyer un message au log pour savoir si oui ou non y'a une erreur.

    Je suis en phase d'essai pour ta solution sachadee (avec le test sur l'ouverture d'une deuxième CMD) lorsque le script fonctionne sinon il lance un code d'erreur. Cela devrait répondre a la partie en orange sur le code.


    En Magenta (la copie des logs vers le serveur) y'a t'il moyen d'avoir un code d'erreur retour si la copie ne se fait pas?


    La phase de suppression des traces ne s'effectue pas toujours, va savoir pourquoi. Je pense qu'il manque de temps et qu'il est donc encore en train de copier (en Sienna (marron) sur le code)

    Voici le code (que j'ai encore légèrement modifié).


    Pour le rassemblement des echo, ça me fait des erreurs donc pour l'instant je travaille encore dessus.


    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    @echo off
    @cls
    
    if not exist D:\log##%computername%\ (
    md D:\log##%computername%\
    )
    
    echo. > "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Date de creation: %DATE% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Heure creation:  %time:~0,8% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Nom utilisateur: %USERNAME% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Nom ordinateur: %computername% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    cls
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo ------------------------------------------------Appel du batch------------------------------------------------ >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo *******************************creation de l emplacement reseau******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @net use T: \\NOMSERV\dossier1 mdp /user:nomutilisateur@domaine.extension
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO aucune erreur dans lors de la creation de l'emplacement reseau T: >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO erreur lors de la creation de l'emplacement reseau >> "C:\Users\Administrateur\desktop\erreuremplacementreseau##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    goto end
    )
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo *******************************Mappage batch(s) dans l'emplacement reseau******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @set /a nbFichiers=0
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: %nbfichiers% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo *******************************appel du fichier test.bat******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    :newtest
    
    for %%f in (T:\*.bat) do (echo Fichier en traitement : %%f
                                       call :process %%f)
    
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @timeout 30
    
    
    @echo *******************************suppression emplacement reseau******************************* > "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @net use T: /delete /yes
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO l'emplacement reseau existe encore >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO l'emplacement reseau T: a bien ete supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo ******************************* copie fichier log ******************************* >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @net use T: \\NOMSERV\dossier2 MDP /user:utilisateur@domaine.extension
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO aucune erreur dans lors de la creation de l'emplacement reseau T: >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO erreur lors de la creation de l'emplacement reseau, la copie n'a pas pu se faire >> "C:\Users\Administrateur\desktop\erreuremplacementreseau##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    goto end
    )
    
    if not exist T:\log##%computername%\ (
    md T:\log##%computername%\
    )
    
    copy "D:\log##%computername%\" "T:\log##%computername%\" /D /Y
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo Mouvement de fichiers prit en compte >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    @net use T: /delete /yes
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO l'emplacement reseau existe encore >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO l'emplacement reseau T: a bien ete supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo *******************************Suppression des traces******************************* >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @rmdir C:\sources\ /s /q
    if not exist C:\sources\ (
    echo dossier sources bien supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    ) else (
    echo Erreur lors de la suppression du dossier sources >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    @rmdir D:\log##%computername%\ /s /q
    if not exist D:\log##%computername%\ (
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo dossier log##%computername%\ bien supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    ) else (
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Erreur lors de la suppression du dossier log##%computername% >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    goto end
    
    :process
    start %1
    @echo appel du fichier %1.bat prit en compte >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    :end

  8. #8
    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
    Par défaut
    Salut pour ta partie en Magenta : Essaie de tester l'errorlevel

  9. #9
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut
    Déjà merci de prendre le temps de me répondre.

    * Je vais essayé voir si il retourne une valeur : si ok (0 souvent) ou non ok (1). Tu aurais une idée des commandes qui retourne une valeur ?



    Comment on utilise un code ASCII en batch ? Je suis actuellement en recherche mais je n'ai pas trouvé de tuto clair là dessus.

  10. #10
    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
    Par défaut
    Pour ta partie en vert : essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    setlocal enabledelayedexpansion enableextensions
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: !nbfichiers! >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    et regarde si la boucle fonctionne de cette manière.

  11. #11
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut
    Ok merci :=) . Je teste ça ce soir à tête reposé ^^. Pour l'ascii, j'en ai besoin car il faut tester l'ensemble des lettres pour voir quel lecteur existe. ça va me faire une boucle + Ascii et après en fonction de ça, je vais pouvoir crée un lecteur réseau en fonction des lecteurs réseau qui n'existe pas

  12. #12
    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
    Par défaut
    Pourquoi te faut-il le code ascii pour tester tes lecteurs ?
    Essaie ça :

    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
    :::::::Par SachaDee
    :::::::07-05-2013
    
    @echo off&color 9f&cls&echo.
    
    setlocal enabledelayedexpansion enableextensions
    
    
    set $lecteur_libre=
    set $lecteur_utilises=
    
    for %%a in (a b c d e f g h  i j k l m n o p q r s t u v w x y z) do (if not exist %%a: (set $lecteur_libre=!$lecteur_libre! %%a:)
                                                                          if exist %%a: (set $lecteur_utilises=!$lecteur_utilises! %%a:))
    echo UNITES EN UTILISATION :!$lecteur_utilises!
    echo UNITES LIBRES :!$lecteur_libre!
    
    
    endlocal
    pause
    Amicalement

  13. #13
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut
    Alors la boucle fonctionne aussi avec la méthode mais je ne vois pas comment je peux alors récupérer l'erreur pour en faire un fichier log binaire (fonctionne ou ne fonctionne pas). (partie verte sur le code le post plus en haut )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    setlocal enabledelayedexpansion enableextensions
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: !nbfichiers! >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"

    J'ai aussi testé le if %errorlvl% sur la partie magenta et cela fonctionne correctement (il me revoie bien ce que je souhaite donc c'est résolu )

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    
    @echo ******************************* copie fichier log ******************************* >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @net use T: \\nomordiserver\dossier1 mdp /user:utilisateur@domaine.extension
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO aucune erreur dans lors de la creation de l'emplacement reseau T: >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO erreur lors de la creation de l'emplacement reseau >> "C:\Users\Administrateur\desktop\erreuremplacementreseau##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    )
    
    if not exist T:\log##%computername%\ (
    md T:\log##%computername%\
    )
    
    copy "D:\log##%computername%\" "T:\log##%computername%\" /D /Y
    echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO Reussite lors de la copie des fichiers logs >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO Erreur lors de la copie des fichiers logs >> "C:\Users\Administrateur\desktop\erreuremplacementreseau##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    goto end
    )
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo Mouvement de fichiers prit en compte >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    @net use T: /delete /yes
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO l'emplacement reseau existe encore >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO l'emplacement reseau T: a bien ete supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"




    Je teste en ce moment l'utilisation du code pour faire le mapping des emplacements réseaux existants

  14. #14
    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
    Par défaut
    Alors la boucle fonctionne aussi avec la méthode mais je ne vois pas comment je peux alors récupérer l'erreur pour en faire un fichier log binaire (fonctionne ou ne fonctionne pas). (partie verte sur le code le post plus en haut )
    Tu veux récupèrer quelle erreur ???

  15. #15
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut
    en faite je voudrais que :

    si il arrive pas à compter le nombre de script => Erreur
    si il y arrive => réussite

    Cela, c'est pour l'étape mappage du réseau pour connaitre le nombre de script présent dans le dossier (je l'ai mis en rouge sur le code pour que ce soit plus simple à se repérer.

    Actuellement, si il n'arrive pas à compter, il fait juste pas la boucle For mais j'aimerais qu'il y ai un log si ça plante (erreur lors du comptage) ou un log si ça fonctionne (opération de comptage réussi )


    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    @echo off
    @cls
    
    if not exist D:\log##%computername%\ (
    md D:\log##%computername%\
    )
    
    echo. > "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Date de creation: %DATE% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Heure creation:  %time:~0,8% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Nom utilisateur: %USERNAME% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Nom ordinateur: %computername% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    cls
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo ------------------------------------------------Appel du batch------------------------------------------------ >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo *******************************creation de l emplacement reseau******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @net use T: \\NOMSERV\dossier1 mdp /user:nomutilisateur@domaine.extension
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO aucune erreur dans lors de la creation de l'emplacement reseau T: >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO erreur lors de la creation de l'emplacement reseau >> "C:\Users\Administrateur\desktop\erreuremplacementreseau##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    goto end
    )
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo *******************************Mappage batch(s) dans l'emplacement reseau******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @set /a nbFichiers=0
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: %nbfichiers% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo *******************************appel du fichier test.bat******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    :newtest
    
    for %%f in (T:\*.bat) do (echo Fichier en traitement : %%f
                                       call :process %%f)
    
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @timeout 30
    
    
    @echo *******************************suppression emplacement reseau******************************* > "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @net use T: /delete /yes
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO l'emplacement reseau existe encore >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO l'emplacement reseau T: a bien ete supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo ******************************* copie fichier log ******************************* >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @net use T: \\NOMSERV\dossier2 MDP /user:utilisateur@domaine.extension
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO aucune erreur dans lors de la creation de l'emplacement reseau T: >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO erreur lors de la creation de l'emplacement reseau, la copie n'a pas pu se faire >> "C:\Users\Administrateur\desktop\erreuremplacementreseau##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    goto end
    )
    
    if not exist T:\log##%computername%\ (
    md T:\log##%computername%\
    )
    
    copy "D:\log##%computername%\" "T:\log##%computername%\" /D /Y
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo Mouvement de fichiers prit en compte >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    @net use T: /delete /yes
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO l'emplacement reseau existe encore >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO l'emplacement reseau T: a bien ete supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo *******************************Suppression des traces******************************* >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @rmdir C:\sources\ /s /q
    if not exist C:\sources\ (
    echo dossier sources bien supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    ) else (
    echo Erreur lors de la suppression du dossier sources >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    @rmdir D:\log##%computername%\ /s /q
    if not exist D:\log##%computername%\ (
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo dossier log##%computername%\ bien supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    ) else (
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Erreur lors de la suppression du dossier log##%computername% >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    goto end
    
    :process
    start %1
    @echo appel du fichier %1.bat prit en compte >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    :end




    Ca marche super bien ton code pour le test des lecteurs réseaux . ça te dérange si je le modifie un peu pour pouvoir l'utiliser dans mon code car cela nécessite de l'adapter.

    en effet , voila ce que je vais essayé de faire en le modifiant:


    1er étape: Il repère dans un premier temps les lecteurs libres & les mets dans une variable


    2éme étape: utilisation de cette variable pour qu'il crée de manière aléatoire avec l'un des lecteurs libre, un emplacement réseau

    3éme étape: Récupération du nom de ce lecteurs libres car les copies utilise le nom de l'emplacement réseau pour savoir ou il doit copier le fichier, pour la destruction des emplacements réseau, etc (ça va être de la création dynamique "si c'est possible de le faire")



    Je voudrais juste que tu m'expliques deux/ trois petites choses sur ton script si c'est possible

    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
    
    :::::::Par SachaDee
    :::::::07-05-2013
    @echo off
    cls
    
    setlocal enabledelayedexpansion enableextensions
    
    
    set $lecteur_libre=
    set $lecteur_utilises=
    
    for %%a in (a b c d e f g h  i j k l m n o p q r s t u v w x y z) do (if not exist %%a: (set $lecteur_libre=!$lecteur_libre! %%a:)
                                                                          if exist %%a: (set $lecteur_utilises=!$lecteur_utilises! %%a:))
    echo UNITES EN UTILISATION :!$lecteur_utilises! >> C:\Users\Administrateur\Desktop\lecteurlibre.txt
    echo UNITES LIBRES :!$lecteur_libre! >> C:\Users\Administrateur\Desktop\lecteurnonlibre.txt
    
    endlocal
    exit

    * pourquoi avoir utilisé le signe $ pour tes variables? (en Purple dans le code juste au dessus)

    * Pourquoi réutiliser Set alors que tu les as déclarées tes variables avant ? (en rouge dans le code juste au dessus)

  16. #16
    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
    Par défaut
    Le signe "$" dans ce cas n'a aucune fonction spécifique.

    Et le "set" et là pour incrémenter la variable à chaque itération, des lecteurs libres (dans le cas de $lecteur_libre) et des lecteurs utilisés (dans le cas de $lecteur_utilises)

    Donc la variable $lecteur_libre contient déjä tous les lecteurs libres (tu n'as pas besoin de créer une autre variable).

    Ensuite si tu as besoin de créer un autre lecteur utilise la première lettre disponible dans la suite logique. Pourquoi veux-tu la créer aléatoirement. Tu va te compliquer la vie.

    Et pour ton premier problème si tu n'arrives pas à compter les scripts disponibles sur T: C'est certainement dû à un problème de connexions.

    donc :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if exist t: (ta boucle FOR) else (echo erreur de connexion>>fichier.log)

  17. #17
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut
    wé en effet, je me prend la tête pour rien. Je développe ça et je te tiens au courant du développement.

    je vais essayé dans le sens: (même si je teste déja la création du lecteur avec un If exist juste après le net use )=> En DeepSkyBlue dans le code)

    Si erreur connexion => Erreur

    Si connexion ok => Ok



    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    @echo off
    @cls
    
    if not exist D:\log##%computername%\ (
    md D:\log##%computername%\
    )
    
    echo. > "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Date de creation: %DATE% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Heure creation:  %time:~0,8% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Nom utilisateur: %USERNAME% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Nom ordinateur: %computername% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    cls
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo ------------------------------------------------Appel du batch------------------------------------------------ >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo *******************************creation de l emplacement reseau******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @net use T: \\NOMSERV\dossier1 mdp /user:nomutilisateur@domaine.extension
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO aucune erreur dans lors de la creation de l'emplacement reseau T: >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO erreur lors de la creation de l'emplacement reseau >> "C:\Users\Administrateur\desktop\erreuremplacementreseau##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    goto end
    )
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo *******************************Mappage batch(s) dans l'emplacement reseau******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @set /a nbFichiers=0
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: %nbfichiers% >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo *******************************appel du fichier test.bat******************************* >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    :newtest
    
    for %%f in (T:\*.bat) do (echo Fichier en traitement : %%f
                                       call :process %%f)
    
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @timeout 30
    
    
    @echo *******************************suppression emplacement reseau******************************* > "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @net use T: /delete /yes
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO l'emplacement reseau existe encore >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO l'emplacement reseau T: a bien ete supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo ******************************* copie fichier log ******************************* >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @net use T: \\NOMSERV\dossier2 MDP /user:utilisateur@domaine.extension
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO aucune erreur dans lors de la creation de l'emplacement reseau T: >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO erreur lors de la creation de l'emplacement reseau, la copie n'a pas pu se faire >> "C:\Users\Administrateur\desktop\erreuremplacementreseau##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%##%time:~0,2%h%time:~3,2%m .txt"
    goto end
    )
    
    if not exist T:\log##%computername%\ (
    md T:\log##%computername%\
    )
    
    copy "D:\log##%computername%\" "T:\log##%computername%\" /D /Y
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo Mouvement de fichiers prit en compte >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    @net use T: /delete /yes
    dir T: 
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO l'emplacement reseau existe encore >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% == 1 (
    CLS
    @ECHO l'emplacement reseau T: a bien ete supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo *******************************Suppression des traces******************************* >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @rmdir C:\sources\ /s /q
    if not exist C:\sources\ (
    echo dossier sources bien supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    ) else (
    echo Erreur lors de la suppression du dossier sources >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    @rmdir D:\log##%computername%\ /s /q
    if not exist D:\log##%computername%\ (
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo dossier log##%computername%\ bien supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    ) else (
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Erreur lors de la suppression du dossier log##%computername% >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    goto end
    
    :process
    start %1
    @echo appel du fichier %1.bat prit en compte >> "D:\log##%computername%\scriptappel_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    :end

  18. #18
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut
    Rebonjour,

    je voulais savoir si c'est possible de connaitre si Windows 7 est ou non activé par un script?


    Autre chose:

    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
    34
    35
    36
    37
    38
    @echo off
    cls
    
    if not exist D:\log##%computername%\ ( 
    md D:\log##%computername%\
    )
    
    echo Date de creation: %DATE% > "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Heure creation:  %time:~0,8% >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Nom utilisateur: %USERNAME% >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Nom ordinateur: %COMPUTERNAME% >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    cls
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    @echo -------------------------------------------Fichier Log-------------------------------------------------- >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    @echo *********gestion utilisateur********* >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    net user monde1 /DELETE
    IF %ERRORLEVEL% == 0 (
    CLS
    @ECHO aucune erreur dans lors de l'activation du compte Administrateur >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt")
    
    IF %ERRORLEVEL% == 1 (
    @ECHO erreur lors de l'activation du compte Administrateur >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt")
    
    end
    PS: 17H56 => J'ai trouvé un solution pour la gestion des erreurs plus efficace. Soit il retourne 0 donc pas d'erreur soit il retourne autre chose et dans ce cas là, il y a une erreur.

    La seule chose que je dois régler à ce propos, c'est de faire la distinction entre la non présence d'un Utilisateur (si compte non crée ou déjà supprimé) & la réel erreur lors de la suppression du compte Utilisateur car si il n'existe pas actuellement, il me met une erreur dans le log alors qu'il y en a pas. (en rouge dans le code si dessous)

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    
    @echo off
    cls
    
    if not exist D:\log##%computername%\ ( 
    md D:\log##%computername%\
    )
    
    echo Date de creation: %DATE% > "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Heure creation:  %time:~0,8% >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Nom utilisateur: %USERNAME% >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    echo Nom ordinateur: %COMPUTERNAME% >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    cls
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    
    @echo *********gestion utilisateur********* >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    net user Administrateur /active:yes
    IF %ERRORLEVEL% EQU 0 (
    CLS
    @ECHO Le compte Administrateur Local est bien active >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% NEQ 0 (
    CLS
    @ECHO Erreur lors de l'activation du compte Administrateur Local >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    @echo gestion Administrateur traitee >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    net user Utilisateur /delete
    IF %ERRORLEVEL% EQU 0 (
    CLS
    @ECHO Le compte utilisateur est bien supprime >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    IF %ERRORLEVEL% NEQ 0 (
    CLS
    @ECHO Erreur lors de la suppression du compte Utilisateur (il est possible que cette erreur soit aussi due à l'absence d'un compte Utilisateur) >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    )
    
    @echo gestion utilisateur traitee >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @rmdir C:\Users\Utilisateur /s /q
    @echo suppression dossier utilisateur traitee >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    @echo. >> "D:\log##%computername%\scriptserv_%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"

  19. #19
    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
    Par défaut
    Test si ton compte utilisateur existe. si ton compte utilisateur existe met un switch à 1
    si ton switch = 1 fait ton delete et ensuite test si le compte existe toujours.
    Si il existe toujours genère une erreur de droit dans ton log.

    si ton switch est à 0 tu genère une erreur compte inexistant

  20. #20
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Par défaut
    bonjour,

    je vois pas comment je peux faire ce que tu proposes en faite (en le traduisant en "programmation" batch).

    Il faut savoir que les codes retournés sont:

    0 => Pas d'erreur

    2=> erreur de droit

    2=> erreur car le compte n'existe déjà plus


    Je vais testé de faire la distinction avec cette méthode:

    net user nomducompteàcree /add => deux solutions possible

    1 ère: Il crée l'utilisateur => retourne 0

    2éme: Il ne peut pas crée l'utilisateur => retourne 2



    PS : 11H25: cette méthode ne m'est pas utile car si je crée un compte que je détruis, c'est sans fin en faite







    Sinon, j'ai fais des tests avec une portion du script pour voir le comportement du code (j'ai lancé à chaque fois les deux l'un à la suite de l'autre ):


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    code 1: activation compte Administrateur
    
    
    @echo off
    echo.
    cls
    
    @echo. >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    net user Administrateur /active:yes
    echo gestion compte administrateur: %ERRORLEVEL% >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    code 2:Suppression compte utilisateur + suppression du dossier de l'utilisateur
    
    @echo off
    echo.
    cls
    
    net user utilisateurstandart /delete
    echo gestionutilisateur: %ERRORLEVEL% >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"
    
    @rmdir C:\Users\utilisateurstandart /s /q
    echo suppression dossier utilisateurstandart: %ERRORLEVEL% >> "C:\Users\Administrateur\desktop\scriptfinaux##%computername%##%DATE:~0,2%-%DATE:~3,2%-%DATE:~6,4%.txt"

    Voici les logs de retour d'erreur:


    log 1 :

    Compte Administrateur (=> j'ai les droits nécessaire)

    REM Compte utilisateur déja supprimé

    gestionutilisateur: 2 (code d'erreur retourné 2 => échec)
    suppression dossier utilisateur: 2 (code d'erreur retourné 2 => échec)




    REM compte administrateur déja activé

    gestion compte administrateur: 0 (cela à quand même fonctionné car j'avais les droits donc retour d'erreur 0)
    log 2 :

    Compte Administrateur Local (=> j'ai les droits nécessaire)


    REM Compte utilisateur existant & dossier existant

    gestionutilisateur: 0 (code d'erreur retourné 0 => réussite)
    suppression dossier utilisateurstandart: 0 (code d'erreur retourné 0 => réussite)



    REM compte administrateur déja activé

    gestion compte administrateur: 0 (cela à quand même fonctionné car j'avais les droits donc retour d'erreur 0)

    log 3 :

    Compte administrateur (=> j'ai les droits nécessaire)

    REM le compte existe & son dossier existe

    gestionutilisateur: 0 (code d'erreur retourné 0 => réussite)
    suppression dossier compte2: 0 (code d'erreur retourné 0 => réussite)

    REM Le compte Administrateur désactivé

    gestion compte administrateur: 0 (code d'erreur retourné 0 => réussite et le compte est bien activé juste après cette commande)


    log 4 :

    Compte: comptesansdroit (pas les droits nécessaires)


    REM le compte existe & le dossier aussi

    gestionutilisateur: 2 (Erreur retourné 2 car je n'ai pas les droits pour supprimé le compte nommé: compte1)

    suppression dossier compte1: 2 (Erreur retourné 2 car je n'ai pas les droits pour supprimé le dossier du compte nommé: compte1)


    REM le compte Administrateur est déja activé

    gestion compte administrateur: 2 (même si le compte Administrateur est déja activé, je n'ai pas les droits pour faire net user administrateur /active:yes donc le code erreur retourné est 2)


    log 5 :

    compte comptesansdroit (pas les droits nécessaires)


    REM compte utilisateur & dossier n'existe plus

    gestionutilisateur: 2 (Erreur retourné 2 car je n'ai pas les droits pour supprimé le compte nommé: compte1 et ils n'existent plus)

    suppression dossier compte1: 2 (Erreur retourné 2 car je n'ai pas les droits pour supprimé le compte nommé: compte1 et ils n'existent plus)


    REM Compte administrateur déja activé

    gestion compte administrateur: 2 (même si le compte Administrateur est déja activé, je n'ai pas les droits pour faire net user administrateur /active:yes donc le code erreur retourné est 2)

    log 6 :

    compte comptesansdroit (pas les droits nécessaires)


    REM Utilisateur inexistant & dossier inexistant

    gestionutilisateur: 2 (Erreur retourné 2 car je n'ai pas les droits pour supprimé le compte nommé: compte1 et ils n'existent plus)

    suppression dossier compte1: 2 (Erreur retourné 2 car je n'ai pas les droits pour supprimé le compte nommé: compte1 et ils n'existent plus)

    REM compte Administrateur désactivé

    gestion compte administrateur: 2 (je n'ai pas les droits pour faire net user administrateur /active:yes donc le code erreur retourné est 2 : Le compte Administrateur reste désactivé )

Discussions similaires

  1. [Core] Problème avec un batch
    Par grus1 dans le forum Hibernate
    Réponses: 2
    Dernier message: 27/06/2012, 11h19
  2. Problème de syntaxe batch sql
    Par julienw91 dans le forum Administration
    Réponses: 1
    Dernier message: 21/04/2011, 03h58
  3. [Batch] Problème avec Spring Batch
    Par meriem15 dans le forum Spring
    Réponses: 6
    Dernier message: 16/12/2009, 16h41
  4. problème avec un batch file
    Par samus535 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 29/02/2008, 17h23
  5. problème de scripts batch
    Par Jérémy Lefevre dans le forum Windows XP
    Réponses: 7
    Dernier message: 27/04/2007, 16h47

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