Página principal » cómo » Reemplace fácilmente un archivo bloqueado una vez que se desbloquee

    Reemplace fácilmente un archivo bloqueado una vez que se desbloquee

    Si intenta actualizar ciertos archivos de Windows (como programas o documentos de Word) mientras están en uso, obtendrá el error estándar de "acceso denegado, archivo en uso". Si bien el razonamiento detrás de esto es obvio, puede ser bastante molesto si necesita actualizar un pequeño archivo ejecutable que está actualmente en uso por otro usuario. En estas situaciones, tiene, entre otras, las siguientes opciones, todas las cuales ocupan su valioso tiempo:

    • Localice y contacte a los usuarios que actualmente están usando el archivo, dígales que cierren / guarden su trabajo, etc. y luego apliquen la actualización..
    • No aplique la actualización inmediatamente y recuerde hacerlo más tarde cuando los usuarios no estén en el sistema.
    • Programe alguna utilidad para reemplazarla en el próximo reinicio.

    Bueno, tenemos otra solución disponible para usted: un script que invoca a través del menú Enviar a que hace lo siguiente:

    1. Intenta borrar el archivo antiguo.
    2. Si el archivo antiguo está bloqueado, el script espera 20 segundos. Ve al paso 1.
    3. Si el archivo antiguo no está bloqueado, el archivo antiguo se reemplaza con el archivo nuevo. Ve al paso 4.
    4. Opcionalmente cerrar sesión una vez que el proceso haya terminado.

    De esta manera, obtienes el comando de reemplazo en movimiento y el script se encarga del resto. Esto puede ayudarlo a evitar el rastreo de usuarios o tener que instalar utilidades innecesarias en su sistema.

    Instalación y uso

    El script se puede colocar en cualquier parte de su sistema. Luego, todo lo que necesita hacer es crear un acceso directo a él en su carpeta SendTo:

    Para iniciar el proceso de reemplazo, seleccione el archivo antiguo y el archivo nuevo y luego invoque la opción Enviar a haciendo clic derecho en el botón archivo antiguo / archivo para reemplazar.

    La secuencia de comandos mostrará exactamente lo que sucederá y le presentará la opción de cerrar la sesión una vez que se complete el reemplazo.

    El script intentará continuamente eliminar el archivo antiguo mientras espera varios segundos entre intentos..

    Todo lo que tiene que hacer es poner en marcha el proceso y, cuando todos los usuarios estén fuera, el archivo será reemplazado.

    Salvaguardias

    El script tiene un par de protecciones integradas:

    • El archivo antiguo y el nuevo archivo se presentan claramente para que sepa exactamente qué sucederá.
    • Puede cerrar la ventana de comandos en cualquier momento para detener la acción (por supuesto, suponiendo que la sustitución no se haya realizado ya).
    • El script asegurará que haya seleccionado solo dos archivos cuando invoque el comando Enviar a. Si selecciona, por ejemplo, 1 o 3 archivos, recibirá un mensaje de aviso y no ocurrirá nada..

    La secuencia de comandos

    @ECHO OFF TITLE Reemplazar archivo bloqueado ECHO Reemplazar archivo bloqueado ECHO Escrito por: Jason Faulkner ECHO SysadminGeek.com ECHO. ECO. SETLOCAL EnableExtensions REM Validación. SET Error = 1 SI % 2 ==  (ECHO Se deben seleccionar dos archivos para ejecutar el reemplazo. GOTO Fin) SI NO ES % 3 ==  (ECHO Se seleccionaron más de 2 archivos, así que no estoy seguro qué hacer. GOTO Fin) SET Error = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Muestra lo que sucederá para que tenga la oportunidad de cancelar. ECHO Archivo antiguo:% OldFile% ECHO --------- ECHO Nuevo archivo:% NewFile% ECHO. ECHO Puede cancelar la sustitución del archivo antiguo por el archivo nuevo cerrando ahora. ECO. Solicitud de cierre de sesión REM. Si no desea ver esto, puede eliminar estas líneas. ECHO Cerrar sesión automáticamente una vez que el proceso de reemplazo se haya completado? ECHO Ingrese 'Y' para cerrar sesión automáticamente o ingrese cualquier otra cosa para no hacerlo. SET / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% IF NOT EXIST% OldFile% (MOVE% NewFile%% Old File Archivo ECHO reemplazado con éxito. Fin de GOTO) ECHO. ECHO El archivo antiguo todavía está bloqueado. Esperando unos instantes para volver a intentarlo. TIMEOUT / T 20 GOTO DoReplace: End IF % Error% == 1 (Instrucciones de uso de ECHO: ECHO 1. Seleccione los dos archivos en el Explorador de Windows. ECHO 2. Haga clic derecho en el archivo antiguo y vaya a Enviar a - Reemplazar archivo bloqueado ECHO. ECHO El archivo en el que hizo clic derecho se reemplazará con el otro archivo seleccionado. ECHO. ECHO Parar sin hacer nada. Presione cualquier tecla para cerrar. TIEMPO DE MARCHA / T 15) IF / I % LogOffWhenDone% == Y (Se seleccionó la opción ECHO. ECHO para cerrar sesión cuando se completó. ECHO Se cerrará su sesión en breve. APAGADO / L) ENDLOCAL 

    Campo de golf

    Descargar ReplaceFile Script desde SysadminGeek.com