Programmation batch....
Répondre à la discussion
Page 1 sur 3 12 DernièreDernière
Affichage des résultats 1 à 30 sur 61

Programmation batch....



  1. #1
    bibi2223

    Smile Programmation batch....


    ------

    Bonjour à tous,

    Je me suis bidouillé un petit fichier .bat pour faire le backup automatique d'un dossier.
    Le but est de mettre à jour le dossier de C vers D.
    Une fois l'opération terminée, la fenêtre ms-dos m'affiche la taille de chaque dossier afin que je vérifie s'ils sont bien de même taille.
    J'aimerais pouvoir terminer par un calcul :
    * taille fichier cible - taille fichier source = afficher la taille résultante
    * si égalité (taille =0) , afficher message de type "Opération réussie"
    * sinon, afficher "Inégalité !"

    J'aimerais aussi que lorsqu'il m'affiche la taille en octets des dossiers, il y ait un séparateur de milliers pour que les nombres soient plus lisibles...

    J'avoue avoit passé beaucoup de temps sur ChatGPT, car je souhaitais qu'une fenêtre windows apparaisse (box faisant apparaître les résultats avec bouton "ok"), mais ce logiciel d'intelligence artificielle commet souvent des erreurs, type, oublier les objectifs de départ, pourtant clairement annoncés...

    Voici le contenu de mon .bat :

    rem ############################## #####
    rem ### EFFACEMENT DOSSIER CIBLE ###
    rem ############################## ###
    rmdir /S /Q D:\bibi\Pro\Documents\Sauvegar des_pro\Mails_thunderbird\rdwd st72.default-release

    rem ############################## ####
    rem ### RECREATION DOSSIER CIBLE ###
    rem ############################## ###
    mkdir D:\bibi\Pro\Documents\Sauvegar des_pro\Mails_thunderbird\rdwd st72.default-release

    rem ############################## ###########
    rem ### COPIE DOSSIER SOURCE vers CIBLE ###
    rem ############################## ##########
    xcopy C:\Users\bibi\AppData\Roaming\ Thunderbird\Profiles\rdwdst72. default-release D:\bibi\Pro\Documents\Sauvegar des_pro\Mails_thunderbird\rdwd st72.default-release /E /C /H
    @echo off
    rem ############################
    rem ### AFFICHAGE RESUME ###
    rem ##########################
    @echo off
    echo -----------------------------------------------
    echo --------------- SAUVEGARDE OK ---------------
    echo -----------------------------------------------
    setlocal enableextensions disabledelayedexpansion
    set "target=C:\Users\bibi\AppData\ Roaming\Thunderbird\Profiles\r dwdst72.default-release"
    if not defined target set "target=%cd%"
    set "size=0"
    for /f "tokens=3,5" %%a in ('
    dir /a /s /w /-c "%target%"
    ^| findstr /b /l /c:" "
    ') do if "%%b"=="" set "size=%%a"
    echo; Taille source (C : %size% octets

    set "target=D:\bibi\Pro\Documents\ Sauvegardes_pro\Mails_thunderb ird\rdwdst72.default-release"
    if not defined target set "target=%cd%"
    set "size=0"
    for /f "tokens=3,5" %%a in ('
    dir /a /s /w /-c "%target%"
    ^| findstr /b /l /c:" "
    ') do if "%%b"=="" set "size=%%a"
    echo; Taille destination (D : %size% octets
    echo -----------------------------------------------
    pause
    rem ############################## ############################## ##############
    rem ### OPTION : OUVERTURE DES FENETRES WINDOWS DE CHAQUE DOSSIER ###
    rem ############################## ############################## ############
    rem explorer C:\Users\bibi\AppData\Roaming\ Thunderbird\Profiles
    rem explorer D:\bibi\Pro\Documents\Sauvegar des_pro\Mails_thunderbird


    Quelqu'un pourrait il me dépanner ?
    Merci d'avance.

    -----

  2. #2
    bibi2223

    Re : Programmation batch....

    Après une multitude d'échanges et de reformulations avec CHATGPT sur la fin du code (affichage taille des dossiers avec séparateurs de milliers), voici le batch obtenu :
    ------------------------------------------------------------------------------------------------------------------------------------------------------
    rem ############################## #####
    rem ### EFFACEMENT DOSSIER CIBLE ###
    rem ############################## ###
    rmdir /S /Q D:\bibi\Pro\Documents\Sauvegar des_pro\Mails_thunderbird\rdwd st72.default-release

    rem ############################## ####
    rem ### RECREATION DOSSIER CIBLE ###
    rem ############################## ###
    mkdir D:\bibi\Pro\Documents\Sauvegar des_pro\Mails_thunderbird\rdwd st72.default-release

    rem ############################## ###########
    rem ### COPIE DOSSIER SOURCE vers CIBLE ###
    rem ############################## ##########
    xcopy C:\Users\bibi\AppData\Roaming\ Thunderbird\Profiles\rdwdst72. default-release D:\bibi\Pro\Documents\Sauvegar des_pro\Mails_thunderbird\rdwd st72.default-release /E /C /H
    @echo off
    rem ############################
    rem ### AFFICHAGE RESUME ###
    rem ##########################
    @echo off
    echo -----------------------------------------------
    echo --------------- SAUVEGARDE OK ---------------
    echo -----------------------------------------------
    @echo off

    set "folder1=C:\Users\bibi\AppData \Roaming\Thunderbird\Profiles\ rdwdst72.default-release"
    set "folder2=D:\bibi\Pro\Documents \Sauvegardes_pro\Mails_thunder bird\rdwdst72.default-release"

    for /f "tokens=3" %%i in ('dir /s /a "%folder1%" ^| findstr /i "fichier(s)"') do set size1=%%i
    for /f "tokens=3" %%i in ('dir /s /a "%folder2%" ^| findstr /i "fichier(s)"') do set size2=%%i


    echo Taille source (C : %size1% octets
    echo Taille cible (D : %size2% octets

    pause
    rem ############################## ############################## ##############
    rem ### OPTION : OUVERTURE DES FENETRES WINDOWS DE CHAQUE DOSSIER ###
    rem ############################## ############################## ############
    rem explorer C:\Users\bibi\AppData\Roaming\ Thunderbird\Profiles
    rem explorer D:\bibi\Pro\Documents\Sauvegar des_pro\Mails_thunderbird
    -----------------------------------------------------------------------------------------------------------------------------------------

    Dès lors que je demande à CHATGPT de modifier la partie liste des tailles pour afficher le résultat %size2% - %size1%, il se mélange les pédales :
    les résultats %size1et2% tombent à 0 ou disparaissent, le résultat est toujours égal à 0, même lorsqu'il me fait passer par robocopy ou autres..
    Il n'est pas capable de me récupérer les valeurs pour les soustraire et m'afficher le résultat.
    Quelqu'un peut il m'aider ?

  3. #3
    pm42

    Re : Programmation batch....

    ChatGPT n'est pas capable de programmer. Il peut en effet générer du code plus ou moins correct ce qui est parfois impressionnant et peut faire gagner du temps à un programmeur.

    Mais tu ne peux pas lui demander de coder à ta place et encore moins quand ce que tu veux n'est pas forcément possible dans le langage choisi (et c'est gentil d'appeler les batchs windows un langage).

    La solution évidente est de savoir assez programmer pour corriger la sortie de ChatGPT. Si quelqu'un a le courage de le faire ici à ta place, tant mieux pour toi mais ce n'est pas garanti.

    P.S : utiliser les balises CODE autour des programmes que tu postes aide à leur lecture.

  4. #4
    bibi2223

    Re : Programmation batch....

    Bonjour, Il me semblait que cette soustraction devait être simple à "coder" (et non programmer :I) en script batch, pour quelqu'un qui maitrise ces codes.
    A l'évidence CHATGPT raisonne sans une apréciation globale du sujet, en oubliant l'objectif initial au bout de 3 ou 4 échanges, ce qui laisse penser à un raisonnement "court termiste" du sujet traité, même s'il s'agit de résolution cartésienne...
    Le but n'est donc pas de corriger CHATGPT, mais de résoudre mon souci de résultat de soustraction.
    C'est pourquoi je demande à toute bonne volonté qui le souhaite de m'aider dans ce forum..
    Merci d'avance

  5. A voir en vidéo sur Futura
  6. #5
    pm42

    Re : Programmation batch....

    Citation Envoyé par bibi2223 Voir le message
    A l'évidence CHATGPT raisonne sans une apréciation globale du sujet, en oubliant l'objectif initial au bout de 3 ou 4 échanges, ce qui laisse penser à un raisonnement "court termiste" du sujet traité, même s'il s'agit de résolution cartésienne...
    Non, il ne raisonne pas, il n'oublie pas l'objectif initial aussi vite et il ne fait pas de résolution cartésienne.
    Tu as pris un vélo, tu as essayé de voler en pédalant vite et en écartant les bras et tu es tombé.
    C'est ce qui arrive quand on n'essaye pas de savoir comment fonctionnent les outils qu'on utilise et qu'on fait des suppositions fausses.

  7. #6
    vgondr98

    Re : Programmation batch....

    Bonjour, j'ai demandé à ChatGPT et voila le résultat :

    Code:
    @echo off
    set file1=C:\Users\v_gondran-tellier\Desktop\testmd5bis\file1.txt
    set file2=C:\Users\v_gondran-tellier\Desktop\testmd5bis\file2.txt
    
    certutil -hashfile "%file1%" MD5 | more +1 > C:\Users\v_gondran-tellier\Desktop\testmd5bis\temp1.txt
    certutil -hashfile "%file2%" MD5 | more +1 > C:\Users\v_gondran-tellier\Desktop\testmd5bis\temp2.txt
    
    set /p hash1=<temp1.txt
    set /p hash2=<temp2.txt
    
    echo Hash du fichier 1 : %hash1%
    echo Hash du fichier 2 : %hash2%
    
    if "%hash1%"=="%hash2%" (
        echo OK
    ) else (
        echo NO
    )
    
    pause
    J'ai changé la demande de calcul de la taille des dossiers par la génération du hash qui est beaucoup plus pertinente pour vérifier l'intégrité des données.
    Dernière modification par vgondr98 ; 10/03/2023 à 10h57.

  8. #7
    vgondr98

    Re : Programmation batch....

    Code:
    @echo off
    
    set dossier1=C:\Users\v_gondran-tellier\Desktop\testmd5bis\dossier1
    set dossier2=C:\Users\v_gondran-tellier\Desktop\testmd5bis\dossier2
    
    echo Calcul du hash MD5 pour les fichiers dans %dossier1%...
    for /r "%dossier1%" %%f in (*) do (
        echo %%f
        certutil -hashfile "%%f" MD5 | more +1 >> C:\Users\v_gondran-tellier\Desktop\testmd5bis\temp1.txt
    )
    
    echo Calcul du hash MD5 pour les fichiers dans %dossier2%...
    for /r "%dossier2%" %%f in (*) do (
        echo %%f
        certutil -hashfile "%%f" MD5 | more +1 >> C:\Users\v_gondran-tellier\Desktop\testmd5bis\temp2.txt
    )
    
    setlocal enabledelayedexpansion
    
    echo Comparaison des hashs MD5...
    set count=0
    for /f "usebackq delims=" %%i in ("C:\Users\v_gondran-tellier\Desktop\testmd5bis\temp1.txt") do (
        set /a count+=1
        set "hash1[!count!]=%%i"
    )
    
    set hash1_all=
    for /l %%i in (1,1,!count!) do set "hash1_all=!hash1_all!!hash1[%%i]!"
    
    echo %hash1_all%
    
    set count=0
    for /f "usebackq delims=" %%i in ("C:\Users\v_gondran-tellier\Desktop\testmd5bis\temp2.txt") do (
        set /a count+=1
        set "hash2[!count!]=%%i"
    )
    
    set hash2_all=
    for /l %%i in (1,1,!count!) do set "hash2_all=!hash2_all!!hash2[%%i]!"
    
    echo %hash2_all%
    
    
    
    if "%hash1_all%"=="%hash2_all%" (
        echo OK
    ) else (
        echo NO
    )
    
    pause
    Voila le code final fait avec ChatGPT.
    Ce code fonctionne même si les dossiers ont des sous-dossiers.
    ChatGPT a été très utile pour générer ce code mais il n'a pas tous fait. La raison principale est qu'il ne peut pas tester ce qu'il propose.
    Dans ce script, il faut que les fichiers soit classés dans le même ordre pour que la comparaison fonctionne correctement.

  9. #8
    bibi2223

    Re : Programmation batch....

    Nul besoin de pousser des cris d'orfraie....
    Je n'ai rien contre cette IA, que je teste depuis plusieurs jours.
    Je constate que, malgrès une formulation très claire de mes besoins, cet algorithme propose des solutions qui ne fonctionnent pas, même si on lui retourne le résultat exact d'exécutions des scripts qu'il propose...
    Il admet ses erreur, et au fur et à mesure qu'il cherche à les corriger, en fait d'autres qu'il va corriger à nouveau, puis perd le fil de la discussion.
    J'appelle ceci une apréciation globale.
    Il me semble ne pas être moins doué qu'un autre pour m'exprimer clairement, mais peut être ton langage est il plus formaté IA que le mien....
    Le script que tu proposes ne fonctionne pas, même en adaptant les chemins cible et source à mon cas.
    Merci malgrès tout de t'y être essayé.
    Dernière modification par bibi2223 ; 10/03/2023 à 17h40.

  10. #9
    pm42

    Re : Programmation batch....

    Citation Envoyé par bibi2223 Voir le message
    Nul besoin de pousser des cris d'orfraie....
    Personne n'a fait ça. On t'a juste expliqué que tu n'utilises pas le bon outl ni la bonne méthode pour régler ton problème.


    Citation Envoyé par bibi2223 Voir le message
    Je constate que, malgrès une formulation très claire de mes besoins, cet algorithme propose des solutions qui ne fonctionnent pas, même si on lui retourne le résultat exact d'exécutions des scripts qu'il propose...
    Ce qui est normal et prévisible. Encore une fois, tu constates qu'un vélo ne vole pas. On était au courant.

  11. #10
    bibi2223

    Re : Programmation batch....

    Apparemment, ce PM42 a pour seul souci de polémiquer en faisant de bons mots..
    Ca occupe... et je ne souhaite pas entrer dans son jeu..
    En attendant, si quiconque a une solution constructive, ce sera avec plaisir.

  12. #11
    bibi2223

    Re : Programmation batch....

    et merci à vgondr98 de s'y être essayé..

  13. #12
    vgondr98

    Re : Programmation batch....

    Le code que je propose est fonctionnel, puisque je l'ai testé avec des cas alambiqués et que j'ai vu qu'il fonctionnait.

    Il faut rajouter ces deux lignes :
    del "C:\Users\v_gondran-tellier\Desktop\testmd5bis\tem p2.txt"
    del "C:\Users\v_gondran-tellier\Desktop\testmd5bis\tem p1.txt"

    Cela supprime les fichiers intermédiaires qui sont utilisés pour stocker les hashs. Cela peut expliquer pourquoi le script ne fonctionne pas.
    Tel que ce script est écrit, il faut que les fichiers soient stockés dans le même ordre. Il vaut mieux qu'ils aient le même nom mais cela n'est pas obligé (seul l'ordre des fichiers importe).

    Sinon, tu peux calculer le hash à chaque fois que tu transfères un fichier au lieu de le faire à la fin. Comme cela, si les hashs sont différents, tu peux retenter le transfert du fichier en cours.

  14. #13
    umfred

    Re : Programmation batch....

    Je me demande si dans ton code du poste #2 il ne manque le setlocal EnableDelayedExpansion
    quelque code pour la taille de dossier => https://www.developpez.net/forums/d1...aille-dossier/

  15. #14
    vgondr98

    Re : Programmation batch....

    setlocal enabledelayedexpansion se trouve à la ligne 15.

  16. #15
    bibi2223

    Re : Programmation batch....

    Merci à vous.
    Ci après le résumé du code adapté à ma situation :
    Code:
    CODE:
    @echo off
    
    set dossier1=C:\Users\bibi\AppData\Roaming\Thunderbird\Profiles\rdwdst72.default-release
    set dossier2=D:\bibi\Pro\Documents\Sauvegardes_pro\Mails_thunderbird\rdwdst72.default-release
    
    echo Calcul du hash MD5 pour les fichiers dans %dossier1%...
    for /r "%dossier1%" %%f in (*) do (
        echo %%f
        certutil -hashfile "%%f" MD5 | more +1 >> C:\Users\bibi\Desktop\temp1.txt
    )
    
    echo Calcul du hash MD5 pour les fichiers dans %dossier2%...
    for /r "%dossier2%" %%f in (*) do (
        echo %%f
        certutil -hashfile "%%f" MD5 | more +1 >> C:\Users\bibi\Desktop\temp2.txt
    )
    
    setlocal enabledelayedexpansion
    
    echo Comparaison des hashs MD5...
    set count=0
    for /f "usebackq delims=" %%i in ("C:\Users\bibi\Desktop\temp1.txt") do (
        set /a count+=1
        set "hash1[!count!]=%%i"
    )
    
    set hash1_all=
    for /l %%i in (1,1,!count!) do set "hash1_all=!hash1_all!!hash1[%%i]!"
    
    echo %hash1_all%
    
    set count=0
    for /f "usebackq delims=" %%i in ("C:\Users\bibi\Desktop\temp2.txt") do (
        set /a count+=1
        set "hash2[!count!]=%%i"
    )
    
    set hash2_all=
    for /l %%i in (1,1,!count!) do set "hash2_all=!hash2_all!!hash2[%%i]!"
    
    echo %hash2_all%
    
    
    
    if "%hash1_all%"=="%hash2_all%" (
        echo OK
    ) else (
        echo NO
    )
    
    del "C:\Users\bibi\Desktop\temp1.txt"
    del "C:\Users\bibi\Desktop\temp2.txt"
    
    pause
    Ce script crée un premier txt, mais je suis obligé de l'interrompre car il n'en finit plus de lister ses opérations.
    Voici, pour information sur la taille des dossiers, ce que génère le code initial que j'avais posté :
    ---------------------------------------
    Taille source (C : 8965764942 octets
    Taille destination (D : 8965506493 octets
    Taille du dossier source : 8*965*764*942 octets
    Taille du dossier cible : 8*965*506*493 octets
    Difference : 0 octets
    Operation OK
    Appuyez sur une touche pour continuer...
    --------------------------------
    On y voit que les répertoires source et cible sont très lourds, et peut être que mon script comme le vôtre se mélange les pinceaux....
    Dernière modification par bibi2223 ; 10/03/2023 à 19h03.

  17. #16
    bibi2223

    Re : Programmation batch....

    temp1.txttemp2.txt
    Voici les txt obtenu avec votre code

  18. #17
    umfred

    Re : Programmation batch....

    Citation Envoyé par bibi2223 Voir le message
    Code:
    rem ###################################
    rem ### EFFACEMENT DOSSIER CIBLE ###
    rem #################################
    rmdir /S /Q D:\bibi\Pro\Documents\Sauvegardes_pro\Mails_thunderbird\rdwdst72.default-release
    
    rem ##################################
    rem ### RECREATION DOSSIER CIBLE ###
    rem #################################
    mkdir D:\bibi\Pro\Documents\Sauvegardes_pro\Mails_thunderbird\rdwdst72.default-release
    
    rem #########################################
    rem ### COPIE DOSSIER SOURCE vers CIBLE  ###
    rem ########################################
    xcopy C:\Users\bibi\AppData\Roaming\Thunderbird\Profiles\rdwdst72.default-release D:\bibi\Pro\Documents\Sauvegardes_pro\Mails_thunderbird\rdwdst72.default-release /E /C /H
    @echo off
    rem ############################
    rem ### AFFICHAGE RESUME  ###
    rem ##########################
    @echo off
    echo -----------------------------------------------
    echo  --------------- SAUVEGARDE  OK ---------------
    echo -----------------------------------------------
    @echo off
    
    set "folder1=C:\Users\bibi\AppData\Roaming\Thunderbird\Profiles\rdwdst72.default-release"
    set "folder2=D:\bibi\Pro\Documents\Sauvegardes_pro\Mails_thunderbird\rdwdst72.default-release"
    
    for /f "tokens=3" %%i in ('dir /s /a "%folder1%" ^| findstr /i "fichier(s)"') do set size1=%%i
    for /f "tokens=3" %%i in ('dir /s /a "%folder2%" ^| findstr /i "fichier(s)"') do set size2=%%i
    
    
    echo Taille source (C:) : %size1% octets
    echo Taille cible  (D:) : %size2% octets
    
    pause
    rem ##########################################################################
    rem ### OPTION : OUVERTURE DES FENETRES WINDOWS DE CHAQUE DOSSIER  ###
    rem ########################################################################
    rem explorer C:\Users\bibi\AppData\Roaming\Thunderbird\Profiles
    rem explorer D:\bibi\Pro\Documents\Sauvegardes_pro\Mails_thunderbird
    Perso, je ne le vois pas dans le code (dans celui du post#1, oui mais pas dans celui-ci)

  19. #18
    bibi2223

    Re : Programmation batch....

    Voici mon scrip simplifié, dans lequel j'ai supprimé la commande de copie dossier source->cible.
    Les répertoires ont donc une taille différente, mais ça me permet de vérifier si la différence est bien calculée :
    Code:
    @echo off
    setlocal enabledelayedexpansion
    
    set "target1=C:\Users\bibi\AppData\Roaming\Thunderbird\Profiles\rdwdst72.default-release"
    if not defined target1 set "target1=%cd%"
    set "size1=0"
    for /f "tokens=3,5" %%a in ('
    dir /a /s /w /-c "%target1%"
    ^| findstr /b /l /c:"  "
    ') do if "%%b"=="" set "size1=%%a"
    echo; Taille source (C:) :         %size1% octets
    
    set "target2=D:\bibi\Pro\Documents\Sauvegardes_pro\Mails_thunderbird\rdwdst72.default-release"
    if not defined target2 set "target2=%cd%"
    set "size2=0"
    for /f "tokens=3,5" %%a in ('
    dir /a /s /w /-c "%target2%"
    ^| findstr /b /l /c:"  "
    ') do if "%%b"=="" set "size2=%%a"
    echo; Taille destination (D:) :    %size2% octets
    
    set "size1=%size1: =%"
    set "size2=%size2: =%"
    set /a diff=size1-size2
    
    
    set "folder3=C:\Users\bibi\AppData\Roaming\Thunderbird\Profiles\rdwdst72.default-release"
    set "folder4=D:\bibi\Pro\Documents\Sauvegardes_pro\Mails_thunderbird\rdwdst72.default-release
    
    set "size3=0"
    set "size4=0"
    
    for /f "tokens=3" %%i in ('dir /s /a "%folder3%" ^| findstr /i "fichier(s)"') do set size3=%%i
    for /f "tokens=3" %%i in ('dir /s /a "%folder4%" ^| findstr /i "fichier(s)"') do set size4=%%i
    
    echo Taille du dossier source : %size3% octets
    echo Taille du dossier cible  : %size4% octets
    echo Difference : %diff% octets
    
    if %diff% EQU 0 (
      echo Operation OK
    ) else (
      echo Erreur
    )
    
    pause
    Et voici ce que me retourne ce script :
    Code:
     Taille source (C:) :        8965660753 octets
     Taille destination (D:) :   8965506493 octets
    Taille du dossier source :   8 965 660 753 octets
    Taille du dossier cible  :   8 965 506 493 octets
    Difference : 0 octets
    Operation OK
    Appuyez sur une touche pour continuer...
    Manifestement, le calcul ne se fait pas...
    Dernière modification par bibi2223 ; 10/03/2023 à 19h38.

  20. #19
    bibi2223

    Re : Programmation batch....

    La commande
    Code:
    set /a diff=size1-size2
    opère pourtant avant le formatage des tailles avec séparateur de milliers...
    Peut être une erreur de syntaxe ?
    Peut être la taille importante des répertoires empêche ce calcul ?
    Mystère..

    Je dois précisier que les répertoires comprennent de nombreux sous dossiers et fichiers...
    Dernière modification par bibi2223 ; 10/03/2023 à 19h55.

  21. #20
    polo974

    Re : Programmation batch....

    Citation Envoyé par bibi2223 Voir le message
    La commande
    Code:
    set /a diff=size1-size2
    opère pourtant avant le formatage des tailles avec séparateur de milliers...
    Peut être une erreur de syntaxe ?
    Peut être la taille importante des répertoires empêche ce calcul ?
    Mystère..

    Je dois précisier que les répertoires comprennent de nombreux sous dossiers et fichiers...
    Et c'est quoi les 2 lignes juste avant???

    J'avoue que je préfère largement le bash (shell usuel sous linux) et la profusion d'outils dispos sous linux. Là, j'aurai juste fait un appel à rsync -aci (et autres si besoin (dont l'indispensable -n pour pré-tester)).

    bash est maintenant nativement dispo sous windows, pour les utilitaires, il faut voir, mais on trouve des portages.

    (Je ne dis pas que bash, c'est la panacée, c'est juste moins pire )

    Edit: Et puis il y a powershell qui est recommandé pour remplacer cmd...
    Dernière modification par polo974 ; 11/03/2023 à 07h36.
    Jusqu'ici tout va bien...

  22. #21
    pm42

    Re : Programmation batch....

    Citation Envoyé par polo974 Voir le message
    bash est maintenant nativement dispo sous windows, pour les utilitaires, il faut voir, mais on trouve des portages.
    Avec le WSL qui est fourni par Microsoft, on a un environnement Linux complet. En fait, c'est une machine virtuelle parfaitement intégrée.
    Et sinon oui, il y a des portages très complets.

    Citation Envoyé par polo974 Voir le message
    Edit: Et puis il y a powershell qui est recommandé pour remplacer cmd...
    Oui, c'est ce que j'ai voulu dire plus haut quand j'ai fait remarquer que demander à ChatGTP de coder un truc dans un langage qui n'est pas adapté aux spécifications était une recette pour ne pas y arriver.
    Le fil a remarquablement bien illustré cela.

    Le PowerShell est effectivement très correct mais par défaut et pour des raisons de sécurité, les scripts sont désactivés et autres petites nuisances qui font qu'y recourir n'est pas toujours le meilleur choix.

  23. #22
    bibi2223

    Re : Programmation batch....

    Oui..
    J'avoue avoir quité la programmation avec le basic à l'époque du ZX81...
    Du coup les scripts batch m'inspirent peu.
    Ce que je recherche, c'est d'avoir à cliquer sur un tout petit .bat qui ne prend pas de place, qu'il me fasse le boulot de copie, et qu'il me rende compte d'une opération bien effectuée. Je cherchais à éviter d'avoir à démarrer un soft tierce, type powershell ou autre.
    Maintenant, si cette opération de comparaison est trop complexe pour un batch, j'abandonnerai, et me contenterai de comparer les tailles respectives après copie...

  24. #23
    bibi2223

    Re : Programmation batch....

    Mon but n'est pas de m'obstiner à obtenir une résolution impossible et de polluer les forums de futura..
    Je requérais une petite formule si une bonne volonté éclairée souhaitait m'en proposer une...

  25. #24
    pm42

    Re : Programmation batch....

    Citation Envoyé par bibi2223 Voir le message
    Mon but n'est pas de m'obstiner à obtenir une résolution impossible et de polluer les forums de futura..
    Je requérais une petite formule si une bonne volonté éclairée souhaitait m'en proposer une...
    J'ai une solution super-simple : la prochaine fois que tu as besoin d'aide et qu'une bonne volonté t'explique pourquoi ton approche ne fonctionne pas et qu'il faut en changer, tu écoutes et dialogues au lieu de prendre la personne de haut.
    Ca marche vraiment très bien.

  26. #25
    bibi2223

    Re : Programmation batch....

    C'est CHATGPT qui m'a proposé
    Code:
    set "size1=%size1: =%"
    set "size2=%size2: =%"
    J'avoue ne pas comprendre non plus ces lignes...

  27. #26
    bibi2223

    Re : Programmation batch....

    Il m'apparait inoportun d'adopter d'emblée un ton moqueur lorsque le souhait est de dialoguer dans un climat d'écoute..... cf. + haut
    Chacun son truc...

  28. #27
    pm42

    Re : Programmation batch....

    Citation Envoyé par bibi2223 Voir le message
    Il m'apparait inoportun d'adopter d'emblée un ton moqueur lorsque le souhait est de dialoguer dans un climat d'écoute..... cf. + haut
    Chacun son truc...
    Je cite :

    Citation Envoyé par bibi2223 Voir le message
    Apparemment, ce PM42 a pour seul souci de polémiquer en faisant de bons mots..
    Ca occupe... et je ne souhaite pas entrer dans son jeu..
    Donc tu as très peu de leçons à donner parce que dès le début et tes "cris d'orfrais" pour décrire une réponse factuelle, tu as donné le ton.

    Mais continue donc à te battre avec ChatGPT en disant "je ne comprends pas pourquoi il fait ça" puisque dès le début du fil il t'a été indiqué que ça ne pouvait pas marcher comme tu le veux.

    Quand au ton moqueur, on est dans le cas Bergsonien du rire : "du mécanique sur du vivant". Tu te comportes comme une mécanique en t'obstinant à taper avec ta tête sur un mur et en prenant de haut ceux qui te disent qu'il est plus simple d'ouvrir la porte pour passer de l'autre coté.
    Ca provoque des moqueries en effet.

  29. #28
    bibi2223

    Re : Programmation batch....

    Encore une fois : je ne souhaite pas entrer dans ton jeu polémique..

  30. #29
    bibi2223

    Re : Programmation batch....

    Si quiconque a une solution constructive, ce sera avec plaisir.

  31. #30
    vgondr98

    Re : Programmation batch....

    Bonjour, si tu as beaucoup de fichiers, le bash n'est pas adapté, je pense que c'est trop lent.
    Pourquoi ne pas utiliser un logiciel déjà fait ?
    https://www.nirsoft.net/utils/hash_my_files.html
    Je pense que ce logiciel ou un autre sera plus rapide.

Page 1 sur 3 12 DernièreDernière

Discussions similaires

  1. Batch
    Par invite8d49186d dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 21/09/2020, 10h02
  2. [Biotechnologie] réacteurs batch et fed batch
    Par invite899441b9 dans le forum Biologie
    Réponses: 1
    Dernier message: 21/11/2010, 11h53
  3. [Biotechnologie] batch simple et batch soutiré
    Par invite31eac219 dans le forum Biologie
    Réponses: 0
    Dernier message: 06/11/2010, 12h32
  4. Virus a.bat batch
    Par invited536931b dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 10
    Dernier message: 31/01/2009, 19h40
  5. DOS et Batch
    Par SPH dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 25/02/2008, 05h44