Fichier BATCH sous WIN11 ??

Résolu
DUME06 Messages postés 371 Date d'inscription   Statut Membre Dernière intervention   -  
DUME06 Messages postés 371 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour
J'ai créé il y a bien longtemps (sous WIN7)un fichier BATCH pour copier mes documents sur une clé USB .

@echo off
color F0 
echo ------------------------------------------------
echo          "" SAUVEGARDE sur USB F:"""
echo ------------------------------------------------
F:
dir 
echo....................................................
echo ########### COPY "Mes Documents sur USB F:#########
echo....................................................
Choice /C ON /m "Voulez vous Continuer ??"
if errorlevel 2 goto Fin 
echo.
xcopy C:\Users\Utilisateur\Documents\*   F:\Mes.Documents  /D /E /I /S /Y
xcopy C:\Users\Utilisateur\Downloads   F:\Telechargements  /D /E /I /S /Y
echo....................................................
echo ########### COPY "Mes Images sur USB F: ###########
echo....................................................
Choice /C ON /m "Voulez vous Continuer ??" 
if errorlevel 2 goto Fin 
echo.                   
xcopy C:\Users\Utilisateur\Pictures\*   F:\Mes.Images   /D /E /I /S /Y
echo.
color 0C
echo ################  FIN des COPIES ##################
echo.
:Fin
Pause
exit

....................................................................................................................
J'ai voulu l'exécuter sous WIN 11 = message => trop de paramètres!
Merci d'avance pour vos conseils.
Cordialement
DUME06

Message modifié par la modération
Pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE

4 réponses

  1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    Sur quelle ligne ?
    0
  2. DUME06 Messages postés 371 Date d'inscription   Statut Membre Dernière intervention   24
     
    bonjour Nhenry
    merci pour ta célérité; c'est apparement sur la ligne 14 (première ligne de commande xcopy)
    encore merci pour ton aide
    DUME06
    0
    1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
       
          xcopy C:\Users\Utilisateur\Documents\*   F:\Mes.Documents  /D /E /I /S /Y

      C'est bien un . entre Mes et Documents ?
      Pourquoi avoir mis l'étoile ?
      Je n'ai pas de Windows à dispo, donc, pour les options, je ne sais pas si c'est bon ou pas.
      As-tu simplement essayé la commande à la main (seuls dans une invite de commande) ?
      0
  3. yclik Messages postés 3875 Date d'inscription   Statut Membre Dernière intervention   1 611
     
    bonsoir
    il y a
    C:\Users\Utilisateur\Documents\*
    a mon avis il faudrait
    C:\Users\Utilisateur\Documents\*.*
    0
    1. DUME06 Messages postés 371 Date d'inscription   Statut Membre Dernière intervention   24
       
      J'utilise ce BATCH sous WIN7 pour sécuriser mes documents et mes images depuis plusieurs années sans problème.
      J'ai simplement voulu l'installer sur le nouveau PC de ma fille qui est équipé de WIN 11 et c'est là que j'obtiens le message :
      "Trop de paramètres" et le BATCH se ferme automatiquement.
      0
      1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387 > DUME06 Messages postés 371 Date d'inscription   Statut Membre Dernière intervention  
         
        Quand tu fais
        xcopy /?
        Tu n'a pas des paramètres our des appels qui auraient changer ?
        0
      2. DUME06 Messages postés 371 Date d'inscription   Statut Membre Dernière intervention   24 > NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention  
         
        je n'ai pas le PC à disposition en ce moment; lorsque je retournerai chez ma fille je revérifierai les commandes...
        ci dessous le BATCH que j'ai installé sous WIN11
        @echo off
        color F0
        echo ----------------------------------------------------------------
        echo "" SAUVEGARDE sur Carte Micro SD"""
        echo ----------------------------------------------------------------
        H:
        dir
        echo....................................................
        echo ########### COPY "Mes Documents sur Micro SD: #########
        echo....................................................
        Choice /C ON /m "Voulez vous Continuer ??"
        if errorlevel 2 goto Fin
        echo.
        xcopy C:\Users\Utilisateur\Documents\* H:\Mes.Documents /D /E /I /S /Y
        echo....................................................
        echo ########### COPY "Mes Images sur Micro SD: ###########
        echo....................................................
        Choice /C ON /m "Voulez vous Continuer ??"
        if errorlevel 2 goto Fin
        echo.
        xcopy C:\Users\Utilisateur\Pictures\* H:\Mes.Images /D /E /I /S /Y
        echo.
        color 0C
        echo ################ FIN des COPIES ##################
        echo.
        :Fin
        Pause
        exit

        Encore merci infiniment pour ta célérité et tes conseils
        Bonne soirée
        Bien amicalement
        DUME06
        0
  4. brucine Messages postés 24941 Date d'inscription   Statut Membre Dernière intervention   4 178
     
    Bonsoir,

    Marche sans problème chez moi (Windows 10, mais ça ne change pas la ligne de commande) une fois qu'on a enlevé les espaces excédentaires retournant "trop de paramètres"(ma carte SD est en E:)


    xcopy C:\Users\bru\Documents\* E:\Mes.Documents /D /E /I /S /Y
    xcopy C:\Users\bru\Downloads E:\Telechargements /D /E /I /S /Y
    xcopy C:\Users\bru\Pictures\* E:\Mes.Images /D /E /I /S /Y


    En commentaires:

    Pourquoi faire F: puis DIR alors que l'on peut directement faire DIR F: et quel en est l'intérêt puisque lu ni par pause ni par sortie vers fichier?
    S'il s'agit de vérifier que F: est en place, pourquoi pas IF EXIST F:NUL?
    Même cette précaution est dangereuse, je recommande soit de tester l'existence d'un fichier spécifique sur la clé, soit de tester le numéro de série du volume:


    @echo off
    for /f "tokens=8 delims= " %%a in ('vol E: ^| Find "volume"') do (
    set SERIAL=%%a
    )
    ECHO %SERIAL%
    pause


    IF %SERIAL% = (la valeur qu'on a notée)...

    Le commutateur \Pictures\* prescrit de copier tous les sous-dossiers sous \Pictures\: il est redondant avec /E /S.

    Pour terminer les pinaillages, la commande color XY colore l'ensemble de la console.
    Si je ne veux mettre en évidence que le message de fin de copie, on passe par les caractères d'échappement, par exemple ici jaune sur rouge, ça réveille...:


    echo [101;93m ################ FIN des COPIES ################## [0m
    pause
    0
    1. DUME06 Messages postés 371 Date d'inscription   Statut Membre Dernière intervention   24
       
      Bonsoir brucine
      Je viens d'effectuer les quelques modifs que tu m'as suggérées et effectivement j'avais été un peu trop généreux avec mes espacements dans mes commandes XCOPY..
      Tout marche parfaitement bien sous WIN11 (apparemment WIN7 était moins exigent sur la syntaxee) .
      je te remercie infiniment pour tes conseils, ton aide et ta bienveillance.
      Bien amicalement
      DUME06
      1