Verificar arquivos em pasta

09/11/2017

0

Pessoal tenho um script que exporta fotos de um banco para uma pasta e automaticamente faz a inserção em uma tabela paralela para controle, porem preciso averiguar quais as fotos já exportadas do banco que estão na pasta e tratar no banco as mesmas. Encontrei um pequeno script em bat para tal:
/a - lista os atributos dos arquivos como arquivos de sistema, arquivos ocultos, somente leitura

/-p - cria uma pausa entre as telas, com o comando - antes não irá ter nenhuma pausa entre a listagem

/o:n - ordena os arquivos, no caso usamos o subparâmetro para listar somente o nome (:n)

/s - mostra o conteúdo dos subdiretórios

/b - mostra os arquivos e dierórios sem os artibutos como tamanho, data, etc.

em português claro um

dir /a /-p /o:n /s /b >lista.txt
.

Porem precisava que o script informasse apenas a data e o nome da foto com extensão. Ex.: foto1.jpg;26/10/2017

Há alguma maneira de fazer em .BAT ou algum aplicativo que faça isso ?
Chromusmaster

Chromusmaster

Responder

Posts

12/11/2017

Chromusmaster

Consegui fazer em partes, mas ainda preciso refinar e melhorar o código na linguagem C. Precisava de buscasse agora a extensão e a data de criação e não de modificação do arquivo na pasta. Vejam:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <unistd.h>

int main(void)
{
    struct stat {
    dev_t     st_dev;       /* ID do dispositivo */
    ino_t     st_ino;       /* número do inode */
    mode_t    st_mode;      /* modo de proteção */
    dev_t     st_rdev;      /* ID do dispositivo se for arquivo especial */
    off_t     st_size;      /* tamanho total em bytes */
    time_t    st_atime;     /* hora do último acesso */
    time_t    st_mtime;     /* hora da última modificação */
    time_t    st_ctime;     /* hora da última troca de estado */
};
char *acc = (char *) malloc(sizeof(char) * 6);
    FILE *arq;
    int i;
    int result;
    DIR *dir;
    struct dirent *lsdir;

    dir = opendir("C:\\\\Users\\\\Natha\\\\Downloads\\\\");
    arq = fopen("insert.csv", "wt");
    /* print all the files and directories within directory */
    if (arq == NULL) // Se nào conseguiu criar
    {
     printf("Problemas na CRIACAO do arquivo\\n");
     return -1;
    }
    while ( ( lsdir = readdir(dir) ) != NULL )
    {
        printf ("%s\\n",lsdir->d_name );
        printf(ctime( &(lsdir) ));
        result = fprintf(arq,lsdir->d_name);
        result = fprintf(arq,"\\n");
    }
    printf("\\n");
    printf(ctime( &(lsdir) ));

    fclose(arq);
    closedir(dir);

    return 0;

}


Alguém tem alguma ideia ?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar