msdos - boucle for - ecrire un ) dans un fichier texte

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
eric4510
Batcheur occasionnel
Messages : 2
Enregistré le : 18 avr. 2015 23:41

msdos - boucle for - ecrire un ) dans un fichier texte

Message par eric4510 »

Bonjour :D

dans un MSDOS.bat
dans une boucle for (dos windows 7)
je veux ecrire un ) dans un fichier de sortie puis du texte :blue:

comment isoler le ) ???
pour qu'il l'interprete pas comme un fin de la commande for
je veux qu'il ecrive ")" puis erreur dans le fichier de sortie
hors la ainsi il s'arrete apres le ''
et retourne une erreur MSDOS "erreur inattendue

merci d'avance de votre reponse !! :)
bonne journee
eric

cls
for /F %%z in (%file-def%) do (
echo %%z
echo '') ERREUR >>%file-out-sql%
)
pir2pir
Batcheur occasionnel
Messages : 1
Enregistré le : 21 avr. 2015 15:54

Re: msdos - boucle for - ecrire un ) dans un fichier texte

Message par pir2pir »

Le script ci-dessous n'est pas élégant, il ressemble à de la programmation en Basic de ma jeunesse avec les GOTO :D mais il fonctionne
La fonction do ( ...) à la sortie d'une boucle FOR pose toujours des problèmes avec la commande ECHO
Il vaut mieux l'éviter. Je propose un contournement avec un CALL. La variable %%i est récupérée dans la fonction appelée par la variable nommé %1

@echo off
for /f "tokens=3" %%i in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Prefetcher" ^| find "LastDiskLayoutTimeString"') do call :_StringFind %%i

:_StringNotFind
REM instructions ici
Goto _suite

:_StringFind
set DateLastDiskLayoutTimeString=%1
echo DateLastDiskLayoutTimeString:%DateLastDiskLayoutTimeString%
echo ) ERREUR >>LogErreurs.txt
goto :eof

:_suite
pause
eric4510
Batcheur occasionnel
Messages : 2
Enregistré le : 18 avr. 2015 23:41

Re: msdos - boucle for - ecrire un ) dans un fichier texte

Message par eric4510 »

merci pir2pir

la solution simple c'est ^^)^

cordialement
Répondre