Facilmente substituir um arquivo bloqueado, uma vez que se torne desbloqueado

Índice:

Facilmente substituir um arquivo bloqueado, uma vez que se torne desbloqueado
Facilmente substituir um arquivo bloqueado, uma vez que se torne desbloqueado

Vídeo: Facilmente substituir um arquivo bloqueado, uma vez que se torne desbloqueado

Vídeo: Facilmente substituir um arquivo bloqueado, uma vez que se torne desbloqueado
Vídeo: How to use Dropbox on your Android phone - YouTube 2024, Maio
Anonim

Se você tentar atualizar certos arquivos do Windows (como programas ou documentos do Word) enquanto estiverem em uso, você obtém o erro padrão “acesso negado, o arquivo está em uso”. Embora o raciocínio por trás disso seja óbvio, pode ser muito irritante se você precisar atualizar um pequeno executável que está atualmente em uso por outro usuário. Nessas situações, você tem, entre outras, as seguintes escolhas, todas as quais ocupam seu valioso tempo:

  • Rastreie e entre em contato com os usuários que estão usando o arquivo, informe-os para fechar / salvar seu trabalho, etc. e, em seguida, aplique a atualização.
  • Não aplique a atualização imediatamente e lembre-se de fazê-lo mais tarde quando os usuários não estiverem no sistema.

  • Programe algum utilitário para substituí-lo na próxima reinicialização.

Bem, temos outra solução disponível para você: um script que você invoca através do menu Enviar para que faz o seguinte:

  1. Tenta excluir o arquivo antigo.
  2. Se o arquivo antigo estiver bloqueado, o script aguardará 20 segundos. Vá para o passo 1.

  3. Se o arquivo antigo não estiver bloqueado, o arquivo antigo será substituído pelo novo. Vá para o passo 4.
  4. Opcionalmente, faça logoff quando o processo estiver concluído.

Dessa forma, você obtém apenas o comando replace em movimento e o script cuida do resto. Isso pode ajudá-lo a evitar rastrear usuários ou ter que instalar utilitários desnecessários em seu sistema.

Configuração e Uso

O script pode ser colocado em qualquer lugar no seu sistema. Então tudo que você precisa fazer é criar um atalho para ele na sua pasta SendTo:

Image
Image

Para iniciar o processo de substituição, selecione o arquivo antigo e o novo arquivo e, em seguida, invoque a opção Enviar para, clicando com o botão direito do mouse sobre o arquivo. arquivo / arquivo antigo para substituir.

O script exibirá exatamente o que acontecerá e apresentará a opção de fazer logoff assim que a substituição for concluída.
O script exibirá exatamente o que acontecerá e apresentará a opção de fazer logoff assim que a substituição for concluída.
O script tentará continuamente excluir o arquivo antigo enquanto espera vários segundos entre as tentativas.
O script tentará continuamente excluir o arquivo antigo enquanto espera vários segundos entre as tentativas.
Tudo o que você precisa fazer é executar o processo e, sempre que todos os usuários estiverem fora, o arquivo será substituído.
Tudo o que você precisa fazer é executar o processo e, sempre que todos os usuários estiverem fora, o arquivo será substituído.

proteções

O script tem algumas proteções internas:

  • O arquivo antigo e o novo arquivo são apresentados com clareza para que você saiba exatamente o que acontecerá.
  • Você pode fechar a janela de comando a qualquer momento para interromper a ação (obviamente, supondo que a substituição ainda não tenha sido executada).
  • O script garantirá que você tenha selecionado apenas dois arquivos quando invocar o comando Enviar para. Se você selecionar, por exemplo, 1 ou 3 arquivos, receberá uma mensagem de notificação e nada acontecerá.

O script

@ECHO OFF TITLE Replace Locked File ECHO Replace Locked File ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Validation. SET Error=1 IF {%2}=={} ( ECHO Two files must be selected to run the replace. GOTO End ) IF NOT {%3}=={} ( ECHO More than 2 files were selected so I am not sure what to do. GOTO End ) SET Error=0 SET OldFile='%~f1' SET NewFile='%~f2' SET LogOffWhenDone=0 REM Show what will happen so you have a chance to cancel out. ECHO Old File: %OldFile% ECHO --------- ECHO New File: %NewFile% ECHO. ECHO You can cancel replacing the Old File with the New File by closing now. ECHO. REM Log off prompt. If you do not want to see this, you can delete these lines. ECHO Automatically log off once the replace process has completed? ECHO Enter 'Y' to automatically log off or enter anything else to not. SET /P LogOffWhenDone=:DoReplace DEL /F /Q %OldFile% IF NOT EXIST %OldFile% ( MOVE %NewFile% %OldFile% ECHO File replaced successfully. GOTO End ) ECHO. ECHO The Old File is still locked. Waiting a few moments to try again. TIMEOUT /T 20 GOTO DoReplace:End IF {%Error%}=={1} ( ECHO Instructions for use: ECHO 1. Select the two files in Windows Explorer. ECHO 2. Right click on the Old File and go Send To - Replace Locked File ECHO. ECHO The file you right clicked on will be replaced with the other selected file. ECHO. ECHO Stopping without doing anything. Press any key to close. TIMEOUT /T 15 ) IF /I {%LogOffWhenDone%}=={Y} ( ECHO. ECHO Option to Log Off when completed was selected. ECHO You will be logged off shortly. SHUTDOWN /L ) ENDLOCAL

Links

Baixar Script ReplaceFile de SysadminGeek.com

Recomendado: