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 :

modifier certaine ligne dans un fichier et prendre en compte l'argument de la commande


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2013
    Messages : 16
    Par défaut modifier certaine ligne dans un fichier et prendre en compte l'argument de la commande
    Bonjour,

    je trouve pas comment faire le script batch.
    J'ai un fichier toto.bat, il y a des lignes en commentaires que je souhaite dé-commenter par un script "modif.bat"

    voici le contenu de toto.bat
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    REM +------------------------------------------------------------------------------------------------------+
    REM |  Script qui permet de bloquer un programme                                                                    |
    REM |  - Pour bloque supprimer REM devant echo et exit  avec les dates de blocages et déblocages|
    REM |pour débloquer  ajouter REM devant echo et exit                                                                |
    REM +------------------------------------------------------------------------------------------------------+
     
    REM echo "Blocage le 26/02/2020 - Déblocage le 27/02/2020"
    REM exit 0
     
    REM -- Ne pas faire en journée
    REM -- Ne pas faire le dimanche

    Je lance le script modif.bat -B 09/06/2020 10/06/2020

    le script ne modifie que les 2 lignes suivantes:
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    REM echo "Blocage le 26/02/2020 - Déblocage le 27/02/2020"
    REM exit 0
     
    en 
    echo "Blocage le 09/06/2020 - Déblocage le 10/06/2020"
    exit 0

    et lorsque je relance le script modif.bat -D il commente les 2 lignes en
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    REM echo "Blocage le 09/06/2020 - Déblocage le 10/06/2020"
    REM exit 0

    je trouvé comme prendre en compte les arguments et modifier les lignes mais c'est pas ce que je souhaite, je vois pas comment faire

    voici le script modif.bat
    Code Batch : 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
    @echo off
    if "%1"=="-B" goto blocage
    if "%1"=="-D" goto déblocage
     
    :blocage
    setLocal EnableDelayedExpansion
    for /f "tokens=* delims= " %%a in (toto.bat) do (
    set str=%%a
    set str=!str:REM echo "Blocage le 26/02/2020 - Déblocage le 27/02/2020"=echo "Blocage le 26/02/2020 - Déblocage le 27/02/2020"!
    set str=!str:REM exit 0=exit 0!
    echo !str!>>fichier2test.txt
    )
    type fichier2test.txt>toto.bat
    del fichier2test.txt
    goto fin
     
    :deblocage
     
    goto fin
     
    :fin
    exit /b 0

    ça fonctionne, mais c'est pas bon car je peux pas savoir a l'avance les dates qui sont dans le fichier et je sais pas comment en modifier le fichier changer les dates
    pourrait on me venir en aide ?

    Sébastien

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Il serait préférable que ton fichier toto.bat de blocage soit optimisé pour son usage.

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    set blocage=1
    set datedebut=26/02/2020
    set datefin=27/02/2020
     
    if "%blocage%"=="1" (
    	echo "Blocage le %datedebut% - Déblocage le %datefin%"
    	exit 0
    )

Discussions similaires

  1. Récuperer certaines lignes dans un fichier txt
    Par forza262 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 08/10/2009, 16h26
  2. code java pour modifier une ligne dans un fichier txt
    Par pacomou dans le forum Général Java
    Réponses: 1
    Dernier message: 03/09/2009, 15h23
  3. Réponses: 6
    Dernier message: 18/06/2009, 15h27
  4. Réponses: 6
    Dernier message: 15/02/2008, 11h10
  5. Modifier une ligne dans un fichier txt en java
    Par nihad510 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 09/10/2007, 22h08

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