Batch, quelques soucis

Bonjour,

J'aimerai faire un fichier bat permettant de modifier les paramètres d'un serveur Minecraft Bukkit. J'aimerai juste savoir comment faire pour ne pas que l'utilisateur marque "allow-nether=true" j'aimerai qu'il marque "True" et l'inscrire sur un fichier texte qui fini par "allow-nether=true. j'espère que vous me comprennez

12 réponses

  1. Le fichier texte ne contient que cette ligne ? parce que sinon, celà implique de remplacer la ligne qui correpond à chaque fois.
    1. Non, c'est ça le fichier:

      allow-nether=true
      level-name=world
      enable-query=false
      allow-flight=false
      server-port=25565
      level-type=DEFAULT
      enable-rcon=false
      level-seed=
      server-ip=
      max-build-height=256
      spawn-npcs=true
      white-list=false
      spawn-animals=true
      online-mode=true
      pvp=true
      difficulty=1
      gamemode=0
      max-players=20
      spawn-monsters=true
      generate-structures=true
      view-distance=10
      motd=A Minecraft Server
      1. C'est plus compliqué que ça n'y parait... il faudrait réécrire tout le fichier à chaque fois, mais si le reste ne change pas, il faut juste le mettre en brut.

        Je te propose de décomposer en deux fichiers:
        tu aurais un fichier avec la base, dans ton cas toutes les lignes, sauf la premiere
        Et le deuxième que tu créerais en te servant du premier en passant le paramètre que tu veux (vrai ou faux)
        1. C'est plus compliqué que ça n'y parait... il faudrait réécrire tout le fichier à chaque fois, mais si le reste ne change pas, il faut juste le mettre en brut.

          Je te propose de décomposer en deux fichiers:
          tu aurais un fichier avec la base, dans ton cas toutes les lignes, sauf la premiere
          Et le deuxième que tu créerais en te servant du premier en passant le paramètre que tu veux (vrai ou faux)

          En batch,

          soit le fichier test.bat
          @echo off  
          set res=false  
          if %1 == true set res=true  
          echo %res%  
          copy base.txt res.txt  
          echo TITI=%res% >> res.txt  
          exit  
          


          Avec:
          le fichier base.txt qui contient les info's de base (qui ne seront pas modifiées)
          le fichier res.txt qui sera le fichier rendu, (celui avec la ligne que tu veux en plus, avec vrai ou faux selon ce que tape l'utilisateur en argument

          pour executer,:

          test.bat true

          ou

          test.bat false
          (sachant que la valeur se mets à false pour n'importe quoi sauf "true"
          1. J'ai peut être une idée : set /p prenom=Nether, True ou False?:

            echo allow-nether=%prenom% >> server.properties
            1. Contributeur
              oui et si tu veux enlever la ligne avant, tu peux faire:
              rename server.properties server.properties.tmp 
              find /v "allow-nether="  < server.properties.tmp > server.properties
              1. Parcontre pour enlever tout le fichier texte pour ne pas avoir de problème je ne sais pas comment faire
                1. Contributeur
                  avec > plutot que >>, le fichier est écrasé
                  echo allow-nether=%prenom% > server.properties