Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Aide commande for
Auteur Message
Répondre en citant
Message Aide commande for 
Bonjour,

Voila je cherche a crée un programme qui va analyser le contenu d'un fichier texte puis modifier tel lettre par tel chiffres mais j'ai un problème dont je ne trouve pas la solution.

Code:
for /f "delims=" %%i in (a.txt) do (
set A=%%i
set A=%A:e=1%
echo %A% >b.txt
)
pause>nul




Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Aide commande for 
A tester :
Code:
@echo off
setlocal enabledelayedexpansion
Set MyFile=a.txt
Set MyNewFile=b.txt
for /f "delims=" %%i in ('Type %MyFile%') do (
set String=%%i
set find=e
set replace=1
call set string=%%string:!find!=!replace!%%
)
echo %string%
echo %string% > %MyNewFile%
pause
Start "" %MyNewFile%





______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message Aide commande for 
Merci mais c'est la même chose que ça:

Code:
for /f "delims=" %%i in (a.txt) do set VRAI_PASS=%%i
)
set VRAI_PASS=%VRAI_PASS:e=1%
echo %VRAI_PASS% >b.txt
 


Ça marche mais pas totalement, si il y a plusieurs ligne ça ne prend que la dernière or moi je voulais que ça prenne et modifie toute les ligne.



Répondre en citant
Message Aide commande for 
Give a try for this modification Very Happy

Code:
@echo off
Set MyFile=a.txt
Set MyNewFile=b.txt
if Exist %MyNewFile% Del %MyNewFile%
setlocal enabledelayedexpansion
for /F "delims=" %%a in (%MyFile%) do (
    set /A count+=1
    set "array[!count!]=%%a"
)

for /L %%i in (1,1,%count%) do (
Call:ReplaceMyString "!array[%%i]!" "e" "1"
Call:ReplaceMyString "!array[%%i]!" "e" "1" >> %MyNewFile%
)
echo.
echo.
echo         Taper une touche pour afficher le resultat dans un fichier texte
Pause>nul
Start "" %MyNewFile%
exit /b

:ReplaceMyString
set "string=%~1"
set "find=%~2"
set "replace=%~3"
call set string=%%string:%find%=%replace%%%
echo %string%
Exit /b





______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message Aide commande for 
Wow merci vous etes un génie Shocked ! Je vais enfin pouvoir finir mon logiciel de cryptage !



Répondre en citant
Message Aide commande for 
Voici autres méthodes que j'ai trouvé sur Stackoverflow avec la solution aussi de sacha

J'ai bien aimé ce script juste j'ai modifié un peu pour que le remplacement s'effectue dans un nouveau fichier :
Code:
@echo off
setlocal
Set MyFile=a.txt
Set MyNewFile=b.txt
if Exist %MyNewFile% Del %MyNewFile%
call :FindReplace "e" "1" %MyFile% %MyNewFile%
pause
Start "" %MyNewFile%
exit /b

:FindReplace <findstr> <replstr> <file>
set tmp="%temp%\tmp.txt"
If not exist %temp%\_.vbs call :MakeReplace
for /f "tokens=*" %%a in ('dir "%3" /s /b /a-d /on') do (
  for /f "usebackq" %%b in (`Findstr /mic:"%~1" "%%a"`) do (
    echo(&Echo Replacing "%~1" with "%~2" in file "%MyNewFile%"
    <%%a cscript //nologo %temp%\_.vbs "%~1" "%~2">%tmp%
    if exist %tmp% move /Y %tmp% "%MyNewFile%">nul
  )
)
del %temp%\_.vbs
exit /b

:MakeReplace
>%temp%\_.vbs echo with Wscript
>>%temp%\_.vbs echo set args=.arguments
>>%temp%\_.vbs echo .StdOut.Write _
>>%temp%\_.vbs echo Replace(.StdIn.ReadAll,args(0),args(1),1,-1,1)
>>%temp%\_.vbs echo end with





______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message Aide commande for 
Désoler mais ça marche pas. quand y'a que une sorte de caractère a changer ça marche mais si c'est un phrase ça ne marche pas.



Message Aide commande for 


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