Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: binario010101 en 25 Diciembre 2013, 22:51 pm



Título: eliminar primer y ultimo simbolo de cada linea de texto de un txt o bat
Publicado por: binario010101 en 25 Diciembre 2013, 22:51 pm
hola amigos

resulta que cree unos archivos y en el proceso de creación tuve que usar " comillas  a el principio y final  de cada linea. ahora tengo la nesecidad de suprimir las " comillas alguien me podria ayudar a quitarlas desde un bat?????

ejemplo: tengo el archivo txt o bat asi
Código:
"hola"
"esto"
"es"
"un"
"ejemplo"

y quiero que quede asi
Código:
hola
esto
es
un
ejemplo

el motivo por el cual en .txt  inicia y termina en " comillas es porque lo cree desde un .bat usando echo y >> mi.txt pero dentro del mismo texto que estoy creando hay >>

Código:
echo "crear un nuevo archivo de texto >> mi.txt"  >> nuevo.txt

tuve que usar las "" para que no se interpretara el primer >> y se creara el archivo mi.txt


Título: Re: eliminar primer y ultimo simbolo de cada linea de texto de un txt o bat
Publicado por: Eleкtro en 26 Diciembre 2013, 00:36 am
Código
  1. @Echo OFF
  2.  
  3. Set "OldTextFile=Archivo.txt"
  4. Set "NewTextFile=Nuevo Archivo.txt"
  5.  
  6. (
  7. FOR /F "Usebackq Delims=" %%@ IN ("%OldTextFile%") DO (
  8. Set "str=%%@"
  9. Call Set "str=%%str:~1,-1%%"
  10. Call Echo %%str%%
  11. )
  12. )> "%NewTextFile%"
  13.  
  14. Pause&Exit

Aunque sería conveniente que lo hicieses en cualquier otro lenguaje como por ejemplo VisualBasicScript:

Código
  1. Set FSO = CreateObject("Scripting.FileSystemObject")
  2.  
  3. Set OldTextFile = FSO.OpenTextFile(".\Archivo.txt", 1)
  4. Set NewTextFile = FSO.CreateTextFile(".\Nuevo Archivo.txt", 2)
  5.  
  6. TextContent = Split(OldTextFile.ReadAll(), vbCrLf)
  7.  
  8. For Each Item In TextContent
  9.  
  10. If Not Item = "" Then
  11. NewTextFile.write(Mid(Item, 2, (Len(Item)-2)))
  12. NewTextFile.write(vbCrLf)
  13. End If
  14.  
  15. Next
  16.  
  17. OldTextFile.Close
  18. NewTextFile.Close

EDITO:
tuve que usar las "" para que no se interpretara el primer >> y se creara el archivo mi.txt

En lugar de encerrar la cadena de texto entre comillas, símplemente podrías haber escapado los caracteres ilegales (^>^>), y así no tendrías la necesidad de convertir un archivo de texto.

Saludos


Título: Re: eliminar primer y ultimo simbolo de cada linea de texto de un txt o bat
Publicado por: binario010101 en 26 Diciembre 2013, 01:13 am
gracias por la respuesta. efectivamente probre (^<^>) y otros pero algunos aparecen  al igual que las "" y otros como [] {}  producen error y el archivo queda hasta donde se produce el error

con su codigo probe funciona hasta cierta parte cuando cuando en la linea encerrada con "" hay un > o >> elimina el contenido que le prosigue junto con los  > o >>.


Título: Re: eliminar primer y ultimo simbolo de cada linea de texto de un txt o bat
Publicado por: binario010101 en 26 Diciembre 2013, 03:50 am
creo que otra forma seria no usar las comillas y en el bat inicial no colocar > o >> sino usar otros simbolos como ? y ¿ para luego sustituirlos de esta menera > por ? y >> por ¿

gracias