Encerrar entre comillas- Batch[Solucionado]

Iniciado por Nilrac, 19 Julio 2010, 23:19 PM

0 Miembros y 1 Visitante están viendo este tema.

Nilrac

Hola !

Veran, el code funciona en que el usuario debe escribir cualquier cosa en un documento de texto y GUARDARLO, luego es alli donde esta mi duda.

¿Coma hago para encerrar entre comillas cada LINEA que el usuario escriba?

Ejemplo:

El User escribe:

Hola, me gusta este foro
mi nick es Nilrac


Luego de ejecutar el code me lo devuelva así:

"Hola, me gusta este foro"
"mi nick es Nilrac"


Gracias

maxx93

#1
En archivo.txt pones la ruta de tu archivo


for /f "delims=" %%i in (archivo.txt) do (echo "%%i")


o sino tambien podes poner...

for /f "delims=" %%i in ('type "archivo.txt"') do (echo "%%i")


Salu2

Nilrac

#2
Hola maxx93   ::)

He modificado un poco el code, el problema es que le coloca comillas a la ultima linea y necesito que sean todas las lineas

for /f "delims=" %%a in ('type "archivo.txt"') do ( echo "%%a" > carlos.txt )



Gracias

maxx93

#3
Aca te corrijo el code...

@echo off>carlos.txt
for /f "delims=" %%a in ('type "archivo.txt"') do ( echo "%%a" >> carlos.txt )


Te digo el problema estaba en que cuando pones

> carlos.txt

Estas haciendo que cada linea sea reemplazada por la siguiente, por esto te aparece la ultima linea.
Salu2

Nilrac

#4
Perfecto amigo muchas Gracias !

Se me paso por alto ;-)

__________________________

Otra cosa,

Estoy tratando buscar unas palabras en particular en unarchivo de texto y que si las encuentra realize cierta ejecucion.
este es el code:


IF EXIST ARCHIVO.TXT (
TYPE ARCHIVO.TXT | FINDSTR /R /V /I "HOY" && (
DEL /F /Q ARCHIVO.TXT > NUL
))


lo que sucede es que si está la palabra o no HOY el archivo se elimina. lo que deseo es que si esta que se elimine el archivo de lo contrario no !

Gracias !

DA KILLER

#5
if %errorlevel%==0 del /f /q archivo.txt >nul

si no me equivoco sería así
.: DA KILLER :.



leogtz

Cita de: Nilrac en 20 Julio 2010, 05:00 AM
Perfecto amigo muchas Gracias !

Se me paso por alto ;-)

__________________________

Otra cosa,

Estoy tratando buscar unas palabras en particular en unarchivo de texto y que si las encuentra realize cierta ejecucion.
este es el code:


IF EXIST ARCHIVO.TXT (
TYPE ARCHIVO.TXT | FINDSTR /R /V /I "HOY" && (
DEL /F /Q ARCHIVO.TXT > NUL
))


lo que sucede es que si está la palabra o no HOY el archivo se elimina. lo que deseo es que si esta que se elimine el archivo de lo contrario no !

Gracias !

Nilrac, tu error está en que no entiendes lo que hace el comando findstr, consulta la opción /v y verás por qué.

Así debería funcionar:
Código (dos) [Seleccionar]
if exist "archivo.txt" (
type "archivo.txt" | findstr /r /i "hoy" && (
del /f /q "archivo.txt"
)
)

Lo que decimos con el código anterior es:
Si existe el archivo "archivo.txt" entonces:
    -muestro el archivo y si en el archivo aparece la palabra "hoy" entonces:
        -eliminamos el archivo "archivo.txt"
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Nilrac


Lo que decimos con el código anterior es:
Si existe el archivo "archivo.txt" entonces:
   -muestro el archivo y si en el archivo aparece la palabra "hoy" entonces:
       -eliminamos el archivo "archivo.txt"

[/quote]

Excelente interpretacion amigo  ::)

Efectivamente el error estaba en "/v" tengo que ser mas minusioso con mis code  :¬¬, muchas Gracias  ;-)

Nilrac

________________________________________________

Hola !


Necesito un poco mas de ayuda por favor para quitar todas las comillas (") de un .txt y que me envie toda la unformacion restante a otro .txt


for /f "delims=" %%a in ('type "archivo1.txt"') do ( Echo %%a >> archivo2.txt)


El problema, es que me da error al colocar las comillas al lado de delims

leogtz

El comando FOR tiene un bug con las comillas, por lo que no podrás usar las dobles comillas como delimitadores.

Lo que podrías hacer es sustituir las dobles comillas por otro caracter en el archivo y enviarlo a un archivo temporal que fácilmente puedas trabajar:
Código (dos) [Seleccionar]

setlocal enabledelayedexpansion
for /f "tokens=*" %%_ in ('type "file.txt"') do (
    set lineContents=%%_
    echo !lineContents:"=,!
)>> "temporal.txt"

Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com