Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
SOS j'ai besoin d'aide !!!
Auteur Message
Répondre en citant
Message SOS j'ai besoin d'aide !!! 
Je travail sur un projet d'éditeur de fichier .txt en batch, quelqu'un pourrait m'aider!!!!!!




______________________________________________________
Ms-Batcheur, développeur en batch depuis 3 ans, créateur d'un site web : futuradeveloppement.pe.hu .
Visiter le site web du posteur Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message SOS j'ai besoin d'aide !!! 
Bonjour,
Poste ta question dan la catégorie 'aide programmation'
tu atteindras plus de monde Wink

ça passe parce-que tu est nouveau mais si t'est un ancien,les autres vont te crier dessus xD


Pour répondre à ta question,j'avais déjà fait un projet de ce genre,malheureusement,je ne l'ai plus...
heureusement pour toi,j'ai cherché pendant une 15aine de minutes dans le forum et j'ai enfin trouvé une partie de ce que tu cherches :
http://batch.xoo.it/t5344-trouver-une-ligne.htm#p40263
un truc simple,mais éditable ligne par ligne Sad ce ne sera pas un éditeur caractère par caractère.
Penses bien à lire la suite du post : en effet le code n'est pas fonctionnel et il faut corriger certaines lignes.




______________________________________________________


cliquer sur un des liens n'est pas dangereux
Ancien site,Nouveau site
Mon site de scan
Vous êtes le
visiteur
Chaine Youtube:
Visiter le site web du posteur Skype
Répondre en citant
Message SOS j'ai besoin d'aide !!! 
Code fonctionnel à 100% :



Code:
@echo off
 
::Permet d'afficher les accents lorsque le fichier est encodé en ANSI (encodage par défaut)
chcp 28591 > nul
 
::Ceci va nous servir pour les variables dans les boucles for
setlocal EnableDelayedExpansion EnableExtensions
 
::permet de revenir au début du programme lorsque le programme sera terminé
:back
 
::On va compter le nombre de ligne dans le fichier avec cette variable
set /a num=1
 
::On demande a  l'utilisateur de faire un glisser/déposer ou d'écrire le nom du fichier
set /p file="Fichier a  modifier : "
 
::Ce petit code va nous permettre d'enlever les guillemets ---->
::On enlève les guillemets car si l'utilisateur fait un glisser/déposser : le script affichera "Fichier introuvable"
::car il y aura des guillemets en double
echo "%file%"> "%programdata%\temp"
setlocal EnableDelayedExpansion
type nul > "%programdata%\CaB.txt"
for /F "delims=" %%A in ('type "%programdata%\temp"') do (
  set row=%%A
  set row=!row:"=!
  echo.!row!>> "%programdata%\CaB.txt"
)
del "%programdata%\temp"
ren "%programdata%\CaB.txt" temp
set /p file=<"%programdata%\temp"
 
 
 
::On vérifie si le fichier est bon (qu'il existe)
if not exist "%file%" goto :error_file
 
 
::On demande a  l'utilisateur de choisir la ligne qu'il veut modifier
:back_line
set /p "line=Ligne a  modifier : "
 
 
::On vérifie que le numéro de ligne est bien un nombre
for /f "delims=0123456789" %%a in ("%line%") do (
   goto :error_line
)
 
 
::On sauvegarde le nombre de la ligne a  afficher
set /a nb_line=%line%
echo.
 
 
::On met la ligne dans la variable line
for /f "tokens=*" %%a in ('type "%file%"') do (
   if "!line!"=="!num!" set "line=%%a"
   set /a num+=1
)
 
 
::On vérifie si la ligne existe
if "%line%"=="%nb_line%" goto :error_nb_line
 
 
::On réinitialise la variable num
set /a num=1
 
 
::On affiche la ligne a  modifier
echo.
echo Ligne qui va être modifier :
echo.
echo        " %line% "
echo.
 
 
::On demande a  l'utilisateur de remplacer la ligne qui va être modifier par autre chose
set /p "edit_line=Remplacer par : "
 
 
::On applique le changement
for /f "tokens=*" %%a in ('type "%file%"') do (
   if "!num!"=="1" (
      if "!nb_line!"=="!num!" (
         echo %edit_line%> "%programdata%\temp"
      ) else (
         echo %%a> "%programdata%\temp"
      )
   ) else (
      if "!nb_line!"=="!num!" (
         echo %edit_line%>> "%programdata%\temp"
      ) else (
         echo %%a>> "%programdata%\temp"
      )
   )
   set /a num+=1
)
 
 
::On supprime l'ancien fichier qui contient l'ancienne ligne
del "%file%"
 
 
::On copie "%programdata%\temp" a  l'emplacement de %file% et on le renomme avec le nom du fichier %file%
copy "%programdata%\temp" "%file%"
 
 
::On supprime le fichier temp
del "%programdata%\temp"
 
::On vérifie que le fichier temp a bien été copier et renommer a  l'emplacement %file%
::S'il n'a pas été copier et renommer c'est que l'UAC bloque l'accès au fichier et qu'il est nécessaire d'exécuter ce programme en mode administrateur
if not exist "%file%" goto :error_file_droit
 
echo.
echo Modification de la ligne %nb_line% du fichier %file% avec succès !
echo.
echo.
 
 
::On écrit cette ligne sans retour a  la ligne pour simuler un "vrai" pause :)
set/p =Appuyer sur n'importe quel touche pour revenir au début du programme..<nul
pause>nul
cls
goto :back
 
 
 
:: #### Les messages d'erreurs ####
:error_file
cls
echo Le fichier sélectionné n'existe pas !
echo.
pause
cls
goto :back
:error_line
cls
echo La ligne ne correspond pas a  un nombre !
echo.
pause
cls
echo Fichier a  modifier : %file%
goto :back_line
:error_nb_line
cls
echo Le fichier ne contient que %num% lignes !
echo.
pause
cls
echo Fichier a  modifier : %file%
goto :back_line
:error_file_droit
cls
echo Impossible de créer le fichier !
echo Veuillez exécuter ce script en mode administrateur !
echo.
pause
cls
goto :back





Ce code est juste une simple brique.
Si tu souhaite reproduire le notepad.exe en batch, voici une petite liste de système à ajouter :

    - système de récupération des coordonnées de la souris au click
    - système permettant de faire correspondre ces coordonnées à celui du fichier
    - système de pages





______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message SOS j'ai besoin d'aide !!! 
Hello,

j'ai survolé ton code @Flammrock :


Tout ceçi :

Code:

::Ce petit code va nous permettre d'enlever les guillemets ---->
::On enlève les guillemets car si l'utilisateur fait un glisser/déposser : le script affichera "Fichier introuvable"
::car il y aura des guillemets en double
echo "%file%"> "%programdata%\temp"
setlocal EnableDelayedExpansion
type nul > "%programdata%\CaB.txt"
for /F "delims=" %%A in ('type "%programdata%\temp"') do (
  set row=%%A
  set row=!row:"=!
  echo.!row!>> "%programdata%\CaB.txt"
)
del "%programdata%\temp"
ren "%programdata%\CaB.txt" temp



peut-être rempla´çé par :


Code:
set file="%file:"=%"


Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message SOS j'ai besoin d'aide !!! 
sachadee a écrit:
Hello,

j'ai survolé ton code @Flammrock :


Tout ceçi :

Code:

::Ce petit code va nous permettre d'enlever les guillemets ---->
::On enlève les guillemets car si l'utilisateur fait un glisser/déposser : le script affichera "Fichier introuvable"
::car il y aura des guillemets en double
echo "%file%"> "%programdata%\temp"
setlocal EnableDelayedExpansion
type nul > "%programdata%\CaB.txt"
for /F "delims=" %%A in ('type "%programdata%\temp"') do (
  set row=%%A
  set row=!row:"=!
  echo.!row!>> "%programdata%\CaB.txt"
)
del "%programdata%\temp"
ren "%programdata%\CaB.txt" temp



peut-être rempla´çé par :


Code:
set file="%file:"=%"


Okay



Je sais, mais j'ai fais ce code il y a tellement longtemps
J'avais pas tro envie de l'optmisé

Si je l'optimise, je supprime au moins 100 lignes tellement ya des trucs complètements inutiles que l'on peut raccourcir en koi 1/4 de lignes.


p.s : j'ai copié/coller le code que j'avais proposé dans le topic que cite logan t xDD




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Message SOS j'ai besoin d'aide !!! 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch