Reemplazar "|" por espacios utilizando script .bat
Publicado por Angel (1 intervención) el 21/09/2017 07:02:03
Hola a todos un saludo, espero puedan ayudarme.
Necesito reemplazar ciertos caracteres en un archivo de texto, para ello estoy utilizando el script que designe como "mi_script.bat", el cual contiene dentro de si las siguientes sentencias:
ejecuto mi script mediante la siguiente sentencia:
replace_char.bat " " "/" prueba.txt
donde " " es el caracter buscado, y "/" es el caracter que reemplazara a " ". Esto funciona de maravilla, el problema es cuando intento reemplazar pipes por espacios mediante la sentencia:
replace_char.bat "|" " " prueba.txt.
Al ejecutar esta utltima instrucción, el resultado esperado es que reemplace todos los | por espacios. sin embargo no lo hace.
Alguna idea???
Necesito reemplazar ciertos caracteres en un archivo de texto, para ello estoy utilizando el script que designe como "mi_script.bat", el cual contiene dentro de si las siguientes sentencias:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@echo off
Setlocal EnableDelayedExpansion
if "%3" == "" goto ayuda
set cadorig=%1
set cadorig=%cadorig:"=%
set cadsust=%2
set cadsust=%cadsust:"=%
for %%f in (%3) do (call :cambiar %%f)
goto fin
:cambiar
set archivo=%1
for /f "tokens=* delims=" %%i in (%archivo%) do (set ANT=%%i&echo !ANT:%cadorig%=%cadsust%! >>kk_temp.txt)
copy /y kk_temp.txt %archivo%
del /q kk_temp.txt
goto :EOF
:Ayuda
Echo Reemplaza una cadena por otra en el contenido de archivos (con comodines)
echo Utiliza un archivo temporal kk_temp.txt que no debe existir previamente
echo Formato: %0 cadorig cadsust archivos
echo Si las cadenas contienen espacios deben escribirse entrecomilladas
echo No funciona si la cadena original contiene un "="
Echo Ejemplo:
echo %0 de DE *.txt
:Fin
ejecuto mi script mediante la siguiente sentencia:
replace_char.bat " " "/" prueba.txt
donde " " es el caracter buscado, y "/" es el caracter que reemplazara a " ". Esto funciona de maravilla, el problema es cuando intento reemplazar pipes por espacios mediante la sentencia:
replace_char.bat "|" " " prueba.txt.
Al ejecutar esta utltima instrucción, el resultado esperado es que reemplace todos los | por espacios. sin embargo no lo hace.
Alguna idea???
Valora esta pregunta
0