Les espaces en batch
electroking
Messages postés
236
Date d'inscription
Statut
Membre
Dernière intervention
-
electroking Messages postés 236 Date d'inscription Statut Membre Dernière intervention -
electroking Messages postés 236 Date d'inscription Statut Membre Dernière intervention -
salut à tous, voila mon problème :: j'ai le code suivant qui me permet d'éditer un projet.bat avec un autre fichier.bat ::
:restart
@echo off
Set Compte=0
For /F "tokens=*" %%a In (projet.bat) Do (Set /A Compte+=1)
Echo %Compte%
set /a limit=%Compte% + 1
set /a num=1
cls
:9
cls
echo LINE:: ::
echo ___________________________
:1
SETLOCAL EnableDelayedExpansion
for /f %%A in ('"type projet.bat | findstr /N ".*" | findstr /R /B "^%num%:.*""') DO (
SET TMP=%%A
SET TMP=!TMP:~2!
)
echo %num%:: !TMP!
set /a num=%num% + 1
if %num% EQU %limit% goto end
goto 1
:end
set /a copy=1
set /p linenum=LINE::
set /p cmd=COMMAND::
if %linenum% EQU TEST goto test
if %linenum% EQU NEW goto newline
if %linenum% GTR %limit% goto restart
COPY "projet.bat" "projet2.bat"
del "projet.bat"
:5
for /f %%A in ('"type projet2.bat | findstr /N ".*" | findstr /R /B "^%copy%:.*""') DO (
SET TMP=%%A
SET TMP=!TMP:~2!
)
if %copy% EQU %linenum% set TMP=%cmd%
echo !TMP! >> projet.bat
set /a copy=%copy% + 1
if %copy% EQU %limit% del projet2.bat
if %copy% EQU %limit% goto restart
goto 5
:newline
echo %cmd% >> projet.bat
goto restart
:test
call "projet.bat"
goto restart
:: mais le problème c'est que quand j'entre une commande comme "echo salut!" le batch s'arrête à l'espace et sa écrit : "echo".
Je voudrais savoir si on peut remplacer l'espace par un symbole batch ou si il y a un moyen de comptabiliser les espaces.
:restart
@echo off
Set Compte=0
For /F "tokens=*" %%a In (projet.bat) Do (Set /A Compte+=1)
Echo %Compte%
set /a limit=%Compte% + 1
set /a num=1
cls
:9
cls
echo LINE:: ::
echo ___________________________
:1
SETLOCAL EnableDelayedExpansion
for /f %%A in ('"type projet.bat | findstr /N ".*" | findstr /R /B "^%num%:.*""') DO (
SET TMP=%%A
SET TMP=!TMP:~2!
)
echo %num%:: !TMP!
set /a num=%num% + 1
if %num% EQU %limit% goto end
goto 1
:end
set /a copy=1
set /p linenum=LINE::
set /p cmd=COMMAND::
if %linenum% EQU TEST goto test
if %linenum% EQU NEW goto newline
if %linenum% GTR %limit% goto restart
COPY "projet.bat" "projet2.bat"
del "projet.bat"
:5
for /f %%A in ('"type projet2.bat | findstr /N ".*" | findstr /R /B "^%copy%:.*""') DO (
SET TMP=%%A
SET TMP=!TMP:~2!
)
if %copy% EQU %linenum% set TMP=%cmd%
echo !TMP! >> projet.bat
set /a copy=%copy% + 1
if %copy% EQU %limit% del projet2.bat
if %copy% EQU %limit% goto restart
goto 5
:newline
echo %cmd% >> projet.bat
goto restart
:test
call "projet.bat"
goto restart
:: mais le problème c'est que quand j'entre une commande comme "echo salut!" le batch s'arrête à l'espace et sa écrit : "echo".
Je voudrais savoir si on peut remplacer l'espace par un symbole batch ou si il y a un moyen de comptabiliser les espaces.
A voir également:
- Les espaces en batch
- Espaces insécables - Guide
- Fichier batch - Guide
- Tapez cette phrase, en respectant bien les espaces et la ponctuation. - Guide
- Batch converter - Télécharger - Photo & Graphisme
- Wannonce espaces membres - Forum Webmastering
dison que je veux pouvoir écrire :
"une phrase"
dans un fichier bat avec cette commande batch :
echo une phrase >> projet.bat
mais l'espace coupe la commade et sa écrit que
"une" et pas " phrase"....