cómo contar todos los archivos en el directorio, devolver el recuento de líneas, modificar la fecha del archivo y la segunda fila de la primera columna

cómo contar todos los archivos en el directorio, devolver el recuento de líneas, modificar la fecha del archivo y la segunda fila de la primera columna

Tengo un directorio con varios archivos csv. Me gustaría devolver el recuento de líneas de cada archivo, la fecha de modificación de cada archivo y la cadena en la primera columna después de la fila del encabezado usando scripts por lotes en la ventana 10. ¿Cómo enviaría un archivo de texto?

Ejemplo

File 1: String 100 lines 1/12/2019
File 2: String 100 lines 1/10/2019
File 3: String 200 lines 1/12/2019

Respuesta1

No voy a hacer el guión por ti, pero te daré los métodos para lo que quieras. Primero dividamos la pregunta en dos partes:

1.- Obtener recuento de líneas en Dir

for /f "usebackq tokens=1 delims=," %%a in ("you_file_path") do set /a count+=1

y para obtener la primera fila después del encabezado, harías eso pero con un salto de bucle

for /f "usebackq tokens=1 delims=," %%a in ("you_file_path") do (
    set /a count+=1 && if count==2 (first_row=%%a && goto next)
)
:next

2.- Fecha de Modificación

for /f "tokens=1,2 delims= " %%a in (
    'dir "FullDirPath" ^| find /i "File_name"'
) do set ArchDate=%%a

Ahora depende de usted unir esto y crear un script, necesitaría hacer un bucle en cada archivo usando el código anterior y al final de cada bucle echo "%first_row%" "%archdate%" "%count%"oecho "%first_row%" "%archdate%" "%count%" > file.txt

Puede probar estos métodos en cmdpero para utilizar variables en el terminal debe reemplazarlas %%apor %a. En un script por lotes, esta %%aes la sintaxis correcta, pero en el terminal %aes la sintaxis correcta.

Salud.

información relacionada