Estou procurando um lote ou qualquer tipo de script (CMD/POWERSHELL) que possa contar arquivos de pastas e subpastas com diretivas.
Minha estrutura de arquivos é:
C:\Users\XXX\Desktop\TASK\YEAR-MONTH\TaskID\MP4
Eu preciso contar os arquivos em cada MP4
pasta. Eu tentei alguns scripts que encontrei por aí, mas nada ajuda, pois conta cada um .mp4
em cada subpasta e esse não é o número que estou procurando.
O script atual que estou usando:
dir /b *.mp4 /s 2> nul | find "" /v /c > tmp && set /p count=<tmp && del tmp && echo Videos Found: %count%
O arquivo de lote deve ser descartado na pasta YEAR-MONTH e contar tudo da subpasta MP4 dentro da pasta TaskID.
Nota: Existem mais de 100 estruturas TASKID (caso real quando task id
é realmente task id: 3130
) ( 3130/mp4/
) <- Preciso contar .mp4
os arquivos nesta subpasta indo para dentro de cada pasta de tarefas.
Eu sei que isso é muito complicado e ficaria feliz se alguém pudesse fazer isso!
Cumprimentos.
Um script PowewrShell de linha única:
A maneira correta em um arquivo em lote para processar a saída de outros comandos é
encapsular
for /f
sem usar arquivos tmp.isso reunirá todos os arquivos mp4 em subdiretórios do diretório em que o script está ... e, em seguida, filtrará qualquer um que NÃO esteja em um subdiretório chamado 'mp4'.
a
$PSScriptRoot
variável automática é o diretório a partir do qual o script foi iniciado. solte-o no diretório do qual você deseja trabalhar e ele fará o que você descreveu ... obtenha a contagem de arquivos para os arquivos mp4 no subdiretório mp4 do diretório em que o script está.se você quiser executar o script de qualquer local e fornecer o diretório de destino, as coisas precisarão ser configuradas com um parâmetro para isso. [ sorriso ]