É necessário comparar arquivos no diretório e excluir arquivos semelhantes (mas é mais complicado que o normal)

É necessário comparar arquivos no diretório e excluir arquivos semelhantes (mas é mais complicado que o normal)

então, tenho uma necessidade bastante estranha em meu ambiente de trabalho e estou tendo muitos problemas para descobrir isso. Tentarei ser o mais curto e amável possível, mas explicar alguns antecedentes é fundamental para explicar por que as coisas são desafiadoras. Além disso, tudo isso está em um ambiente Windows, já que provavelmente é importante haha.

Portanto, preciso de uma maneira de mover PDFs automaticamente, depois de editados, para pastas específicas. Para fazer isso, estou planejando fazer com que os usuários editem os PDFs e, em seguida, salvem como e anexem uma carta no final. Algo como AB111d iria para a pasta Concluído, mas se fosse AB111u iria para a pasta Incompleto, por exemplo. Já descobri isso via Robocopy, é bem fácil.

Agora é aqui que entra o problema, os arquivos já são nomeados de acordo com a estrutura de nomenclatura que precisamos quando são colocados na pasta principal, então o usuário NÃO precisa renomear o arquivo inteiro, apenas anexando uma letra (a velocidade é chave aqui, então digitar um nome inteiro seria uma perda de tempo significativa quando esses usuários fazem isso centenas de vezes por dia). Mas TAMBÉM preciso excluir (ou mover também funcionaria) o arquivo original dentro do diretório que não possui a letra anexada.

Por exemplo, um usuário abre AB111, trabalha nele, salva como e renomeia para AB111d, o script robocopy que estou usando move AB111d para a pasta Concluído, mas AB111 ainda está lá, esse arquivo AB111 original é o arquivo que eu precisa excluir de alguma forma (de novo ou mover, só precisa não estar na pasta de trabalho dos usuários para que eles saibam que já terminaram). Se isso está programado ou pode acontecer no momento de salvar, qualquer um dos dois funcionaria.

Existe alguma maneira de, digamos, comparar arquivos em um diretório, mas SEM a letra anexada? Assim, eu poderia comparar o diretório de trabalho com o diretório Concluído (por exemplo), mas sem o "d" anexado nos arquivos do diretório Concluído. E então exclua/mova o arquivo original.

Nota final: tudo isso precisa ser automatizado por meio de scripts e precisa acontecer no máximo a cada 5 minutos.

Responder1

Robocópia tem a opção de:

/mov    Moves files, and deletes them from the source after they are copied.

Se você precisar excluir arquivos que estão presentes no destino, mas não na origem, eles serão chamados de "arquivos extras". A exclusão de extras impedirá quaisquer exclusões do destino. A opção para isso é:

/xx     Excludes extra files and directories.

informação relacionada