@echo off for %%f in (*) do ( if not %%f==TextDoc1 (
(your command to create%%~nf.zip
containing%%f
andTextDoc1
)) )
for %%f in (*)
significa para cada arquivo no diretório atual - DO
o comando para criar o arquivo ZIP (cujos detalhes são irrelevantes) - exceto quando você considera o próprio arquivo TextDoc1. Pule isso, senão você criará um arquivo TextDoc1.zip que contém duas cópias de TextDoc1 (ou talvez apenas uma, dependendo de como o WinRAR funciona).
A única coisa complicada é o %%~nf
, que é a parte do nome do arquivo %%f
(com a extensão removida). Eu usei isso porque, enquanto você deu File1, File2 e File3 como nomes de arquivo de exemplo, eu acho que você também tem File4.txt, résumé.doc, flower.jpg, etc.
Eu estou fazendo o palpite de que você quer que os arquivos ZIP sejam chamados de File4.zip, résumé.zip e flower.zip, ao invés de File4 .txt .zip, currículo .doc .zip e flor .jpg .zip. Claro que isso significa que, se houver schedule.mpp e schedule.xls, podemos ter um problema.