Agregar un caracter especial al inicio de linea

Tengo un codigo que requiero seleccionar y cortar/añadir caracteres, muestro como empieza y como debe finalizar:

Asi es el original

SND,00, 8/30/2016,14:26:29,
SND, 00, 8/30/2016,14:26:31,S 004801 0001002323989 EM05100ABAUNZA-GUZMAN, OSCA0 277488-000 L034 OPD PRUDENTIAL-TREJO0102050809##111316181921222425└
IBX, 01, 8/30/2016,14:26:38, DQ Q002 03E490000231.4└
IBX, 01, 8/30/2016,14:26:47, DQ Q002 03E490000231.4└
IBX, 01, 8/30/2016,14:27:00, DQ Q002 04E490000149.4└
IBX, 01, 8/30/2016,14:27:08, DQ Q002 04E490000149.4└
IBX, 01, 8/30/2016,14:31:55, R 000601 0002002323470└
SND,00, 8/30/2016,14:31:55,
SND, 00, 8/30/2016,14:31:56,S 000601 0002002323470 EF02400SAAVEDRA-LOPEZ,└

La parte del recorte de caracteres ya la tengo, mi texto empieza desde esta parte

S 004801 0001002323989 EM05100ABAUNZA-GUZMAN, OSCA0 277488-000 L034 OPD PRUDENTIAL-TREJO0102050809##111316181921222425└
DQ Q002 03E490000231.4└
DQ Q002 03E490000231.4└
DQ Q002 04E490000149.4└
DQ Q002 04E490000149.4└
R 000601 0002002323470└
S 000601 0002002323470 EF02400SAAVEDRA-LOPEZ,└

Y debe terminar asi

┐DQ Q002 03E490000231.4└
┐DQ Q002 03E490000231.4└
┐DQ Q002 04E490000149.4└
┐DQ Q002 04E490000149.4└

Antes de DQ debe aparecer el caracter ┐

Solo que no he encontrado la forma de incluir el caracter especial, ¿tendran alguna sugerencia? Unicamente es agregar ┐ antes de cada DQ, ya que son constantes y pasar esto a un archivo nuevo, independientemente de todo lo que pase en el resto del archivo...

Espero puedan ayudarme por favor llevo dias con ello u no me funciona lo que he encontrado

1 Respuesta

Respuesta
1

Por lo que comentas parece que el problema que no has conseguido resolver es, básicamente, añadir el carácter ┐ (ASCII 191) delante de cada línea de texto de un archivo preexistente y, tal vez (porque eso no tengo claro que te suponga problemas), el carácter └ (ASCII 192) al final de la misma. Me voy a basar en este problema "reducido". He creado un archivo (RUBI.TXT) con el contenido de esas 4 líneas de ejemplo, sin los caracteres de inicio y de fin. He creado también un sencillo BAT (RUBI.BAT) que realiza el cambio y lo salva en un archivo temporal (TMP.TXT). Si el resultado fuera satisfactorio habría que convertir la última instrucción del BAT (actualmente un ECHO) en un COPY que sustituya el archivo original. El problema que me he encontrado (imagino que el mismo que tú) es que los editores normales de texto plano (Bloc de notas) no permiten salvar (aparentemente) como ANSI los caracteres 191 y 192. El truco es escribir "¿" en lugar de "┐" y "À" en lugar de "└" Pongo a continuación una captura de todo lo anterior:

D:\BAT>type rubi.txt
DQ Q002 03E490000231.4
DQ Q002 03E490000231.4
DQ Q002 04E490000149.4
DQ Q002 04E490000149.4
D:\BAT>type rubi.bat
@echo off
set carini=┐
set carfin=└
del /q tmp.txt
for /f "tokens=* delims=" %%i in (rubi.txt) do (echo %carini%%%i%carfin%>>tmp.txt)
echo copy /y tmp.txt rubi.txt
D:\BAT>rubi
copy /y tmp.txt rubi.txt
D:\BAT>type tmp.txt
┐DQ Q002 03E490000231.4└
┐DQ Q002 03E490000231.4└
┐DQ Q002 04E490000149.4└
┐DQ Q002 04E490000149.4└

Obviamente antes de ejecutar el bat debes comprobar con un TYPE desde MSDOS que CARINI y CARFIN siguen teniendo el aspecto requerido. Si tienes problemas coméntamelos.

Se me olvidó decir que visto desde el Bloc de notas el RUBI.BAT tiene este aspecto

@echo off
set carini=¿
set carfin=À
del /q tmp.txt
for /f "tokens=* delims=" %%i in (rubi.txt) do (echo %carini%%%i%carfin%>>tmp.txt)
Echo copy /y tmp.txt rubi.txt

pero, como demuestra el TYPE RUBI.BAT que figura en el mensaje anterior, para MSDOS los caracteres son lo que deberían ser.

¿Qué pasó con esto? ¿Lo has probado? ¿Ha dejado de interesarte?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas