Ms-Dos - modificar un fichero de nombre si su tamaño es de 204800 Kilobytes

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado 1 puesto en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

modificar un fichero de nombre si su tamaño es de 204800 Kilobytes

Publicado por Vicente (1 intervención) el 10/01/2021 23:13:30
Buenas a todos ando un poco perdido necesito un poco de ayuda ya que no se como plantearlo tengo archivos txt y cuando excede de 204800 Kilobytes no hay forma de abrirlos, necesito crear un bath para que cuando lleguen a ese tamaño se renombren y se genere uno nuevo

gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

modificar un fichero de nombre si su tamaño es de 204800 Kilobytes

Publicado por Antoni Masana (811 intervenciones) el 12/01/2021 18:24:05
Este es el proceso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
echo off
 
for %%a in (*.txt) do call :Trata "%%~na" %%~xa  %%~za
goto :EOF
 
:Trata
    set    File=%1
    set    File=%File:~1,-1%
    set    Exte=%2
    set /A Size=%3 / 1024
    set    Nume=1000000
 
    IF %Size% LSS 204800 goto :EOF
 
:Suma
    set /A Nume+=1
    echo %Nume%
    if Exist "%File%_%Nume:~1%%Exte%" goto Suma
 
    echo REN "%File%%Exte%" "%File%_%Nume:~1%%Exte%"
    goto :EOF

Tiene una pega.

Supongamos que tienes un archivo que se llama: MAIL.txt y llega el tamaño deseado y ejecutas el BAT, ahora tendrás:

MAIL_000001.txt

Creas un fichero nuevo y vuelves a ejecutar el BAT y tendrás:

MAIL.txt
MAIL_000001_000001.txt


Vuelves a ejecutar el BAT y tendrás:

MAIL.txt
MAIL_000001_000001_000001.txt


y así hasta colapsar la máquina con el nombre del archivo.

Esto se debe a que el BAT tal cual esta no sabe distinguir que fichero esta renombrado y cual no.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar