Artigo: 290585 - Última revisão: terça-feira, 27 de Fevereiro de 2007 - Revisão: 2.2

Como fechar todos os ficheiros abertos por clientes de rede a partir da linha de comandos

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Este artigo foi publicado anteriormente em PT290585

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este artigo descreve como fechar todos os ficheiros abertos num computador baseado no Windows NT 4.0 ou no Windows 2000 a partir da linha de comandos. Pode utilizar este comando para fechar ficheiros no computador em que os mesmos residam, procedimento que poderá ser muito útil quando o executar antes dos procedimentos de criação de cópias de segurança em ambientes onde os utilizadores não terminam sessão, desligam ou fecham ficheiros antes dos procedimentos agendados de criação de cópias de segurança. Este comando só afecta ficheiros que são abertos por clientes SMB. O comando não afecta a comunicação entre processos (IPC, Interprocess Communication) ou as ligações da chamada de procedimento remoto (RPC, Remote Procedure Call), os pedidos de HTTP ou ficheiros que estejam a ser utilizados por clientes FTP.

Nota: este comando fecha todos os ficheiros partilhados que estejam abertos e remove os bloqueios destes ficheiros; não é efectuada qualquer tentativa no sentido de compreender a natureza dos ficheiros ou dos programas cliente que têm os ficheiros abertos. Nalguns casos, poderá ocorrer perda de dados se os utilizadores não tiverem guardado os ficheiros antes de utilizarem o comando. Recomenda-se que teste este comando no seu ambiente, antes da respectiva aplicação num ambiente de produção.

Mais Informação

Comando para fechar todos os ficheiros abertos

for /f "skip=4 tokens=1" %a in ('net files') do net files %a /close
O modo de funcionamento do comando consiste em passar os elementos de ID do ficheiro da lista produzida pelo comando net files para o argumento de acção do comando for, net files ID_ficheiro /close. Quando utiliza a substituição iterativa (%a neste caso) como parte de um ficheiro batch, a substituição terá de ser %%a. Para a versão de ficheiro batch do comando, utilize a seguinte sintaxe:
for /f "skip=4 tokens=1" %%a in ('net files') do net files %%a /close
Em ambos os casos, este comando poderá parecer que devolve um erro porque a última linha do resultado de net files é "O comando foi concluído com êxito" ("The Command Completed Successfully") e não existe qualquer ID de ficheiro com a indicação "O" ("The").

Nota: o serviço de servidor tem de estar em execução para que este comando funcione.

Referências

Para obter mais informações sobre estes comandos, a partir da linha de comandos escreva:
net help files

e

for /?

A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
Palavras-chave: 
kbhowto kbnetwork KB290585