Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Aranguez

#1
Hola Grupo, intento leer un archivo separado por ('), el archivo me llega en una sola linea, es decir un registro enorme separado cada segmento por ('), tengo este codigo que separa por el delimitador (') y me permite hacer echo del segmento o crear otro archivo segmentado, el problema que tengo es que me funciona bien con archivos pequeños 50 kc, pero ahora tengo clientes que me envian archivos de 1 y 2 MB y el programa con estos archivos grandes no hace nada.Por favor necesito ayuda para saber como puedo hacer que funcione, le dejo parte del codigo y muchas gracias por su ayuda.

CODIGO:

Código (dos) [Seleccionar]
@echo off
setlocal EnableDelayedExpansion

@for %%a in (C:\Separar\*.*) do (

@FOR /F "tokens=1* delims='" %%b IN ('type %%a') do (
echo %%b >> C:\separa\salida.txt
))
#2
SOLUCIONADO gracias a todos
#3
Scripting / Re: [DUDA xD]IF Dentro De Un FOR?
11 Octubre 2009, 01:37 AM
Me alegra Panxin que te haya servido, también quiero agradecer xassiz, muy buena su respuesta a mi duda y muy buena explicación.

Saludos
#4
Scripting / Re: [DUDA xD]IF Dentro De Un FOR?
10 Octubre 2009, 17:09 PM
Hola Panxin,
ajusta este codigo al tuyo y pruebalo

SET ESTA=NO

For /F "Tokens=1,2 Delims=;" %%f In ('Type "Lista.txt" ^| Find /I "%Rut_Cliente%"') Do (
SET ESTA=SI
ECHO AQUI VA EL PROCESO CUANDO EXISTE
)

IF %ESTA% ==NO ECHO AQUI PROCESAS SI NO EXISTE "%Rut_Cliente%"

Por cierto me podrías explicar esta instrucción que tienes al final de tu codigo?, el pause se que da una pausa pero el resto no lo entiendo.

Pause >Nul 2>&1

Saludos
#5
Scripting / Re: Ayuda con BAT leer Archivo
9 Octubre 2009, 05:27 AM
Hola, prueba con este codigo, pon ojo al directorio y a las letras de las variables que cambiaron.

echo off
for %%a in (C:\zzz\*.txt) do (
for /f "tokens=1,2* delims=_" %%b in ("%%~na") do (
for /f "tokens=* delims=0" %%e in ("%%c") do (call :comando %%a %%b %%e %%d)
)
)
goto :eof

:comando
set n0=%~1
set n1=%~nx2
set n2=%~3
set n3=%4

echo %n0%
echo %n1%
echo %n2%
echo %n3%

los echo se los puse para chequear, espero que te sirva

#6
Scripting / Re: Ayuda con BAT leer Archivo
8 Octubre 2009, 02:16 AM
Ok, sustituye la linea tuya:

for /f "tokens=1,2 delims=_" %%b in ("%%a") do (

por esta otra que te di en mi codigo:

for /f "tokens=1,2* delims=_" %%b in ("%%~na") do (

Saludos
#7
Mil gracias a todos los que me ayudaron. (SOLUCIONADO)
#8
PERFECTO, funciona como yo quería, MIL gracias por tu ayuda.

Saludos
#9
Muchas gracias por tu ayuda, ademas me gusta la forma en que encierras el filtro, pero sigue quedando afuera los archivos que no tienen extensión y que si deben ser procesados. Se te ocurre otra forma de que formen parte del filtro?
#10
la instrucción ;

if %~x1 =="" GOTO :ProcesaAscii

no funciona da error porque esta vacio. se te ocurre otra manera?