Posts com Tag ‘Defrag’

Olá sobreviventes!

Gostaria de compartilhar um script que desenvolvi a algum tempo. Apesar de não exigir muito esforço para desenvolver, nada melhor como encontar um script pronto e testado.

A idéia desse script é defragmentar múltiplos VMDKs sequencialmente, ou seja, em vez de executar o utilitário vmware-vdiskmanager.exe e informar o nome de um único VMDK. Essa condição de defragmentar vários VMDKs é muito útil para quem usa o VMWARE para laboratório de testes pois é muito desgastante usar a console e executar o comando DEFRAGMENT para cada VMDK, principalmente para aqueles que geram muitos snapshots.

Na época tentei desenvolver o script com o comando FOR mas não dava muito certo e depois acabei lembrando do utilitário FORFILES que foi perfeito para o sucesso do script.


set PATH=%PATH%;c:\Program Files (x86)\VMware\VMware Workstation
forfiles /P . /S /M *.vmdk /c "cmd /c vmware-vdiskmanager.exe -d @path"

Basicamente o script é divido em 3 partes:

A primeira define a variável de sistema PATH para informar o caminho do utilitário vmware-vdiskmanager.exe. Esse caminho é o diretório padrão da instalação, caso a instalação do VMWARE esteja em outro local é necessário alterar o caminho.

A segunda parte é utilizar o FORFILES para localizar todos arquivos .VMDK e esse resultado é adicionado a variável do @path do FORFILES.

A terceira parte, o FORFILES executa o utilitário vmware-vdiskmanager.exe, que informa o caminho do .VMDK necessário ser defragmentado. Evidentemente utilizei o switch -d que informa ao vmware-vdiskmanager.exe que modo de operação é defragmentar arquivo.

Abraços e até o próximo resgate!
Magno Alberto