Suponho que isso seja bastante fácil, mas não tenho experiência com os utilitários de linha de comando do Windows. Basicamente, preciso iterar todos os arquivos em um diretório (ótimo se ele puder executar subdiretórios, mas posso executá-lo em cada um dos 5 diretórios, se necessário), obter o nome como uma variável e executá-lo
"C:\Program Files\ImageMagick-6.7.6-Q16\convert.exe" -compress LZW
-colorspace Gray -colors 32 file_var file_var
Vi arquivos de nome dinamicamente em um prompt de comando para loop . Eu seria capaz de usar isso (trocando o SET ... pelo comando acima)? O espaço no computador em questão está além do limitado, por isso não posso executar um backup antes de executá-lo nesta fase (ruim, eu sei).
windows
command-line
imagemagick
Robert
fonte
fonte
"%%f" "%%f"
) colocará apenas o nome do arquivo (com caminho completo) duas vezes. Você provavelmente deseja usar algo como"%%f" "%%~dpnf.gif"
para alterar a extensão do arquivo de saída.Respostas:
Estranho, houve uma resposta que teve a parte recursiva.
Bem, por Como fazer um loop através de arquivos que correspondem ao curinga no arquivo em lote , consegui isso. Aqui está como foi realizado:
fonte
Abra o PowerShell
Get-ChildItem recupera uma lista de arquivos como objetos do subdiretório atual. "-recurse" incluirá subdiretórios. Isso o coloca em uma matriz $ Files.
O loop foreach percorre cada arquivo e chama o bloco de notas com o argumento da linha de comandos do caminho completo do nome do arquivo para cada arquivo.
CUIDADO: Teste o código acima em um diretório com alguns arquivos de texto pequenos, pois ele abrirá uma instância do Bloco de Notas para cada arquivo.
Isso deve lhe dar uma idéia de como proceder com o que você está procurando fazer.
fonte