Легко заменить заблокированный файл, как только он откроется

Оглавление:

Легко заменить заблокированный файл, как только он откроется
Легко заменить заблокированный файл, как только он откроется

Видео: Легко заменить заблокированный файл, как только он откроется

Видео: Легко заменить заблокированный файл, как только он откроется
Видео: Не работает Windows Media Player, быстро решаем проблему! - YouTube 2024, Апрель
Anonim

Если вы попытаетесь обновить некоторые файлы Windows (например, программы или текстовые документы) во время их использования, вы получите стандартную ошибку «Доступ запрещен, файл в использовании». Хотя обоснование этого очевидно, это может быть очень неприятно, если вам нужно обновить небольшой исполняемый файл, который в настоящее время используется другим пользователем. В этих ситуациях у вас есть, в частности, следующие варианты, все из которых занимают ваше драгоценное время:

  • Отследите и свяжитесь с пользователями, которые в настоящее время используют файл, сообщают им закрыть / сохранить свою работу и т. Д., А затем применить обновление.
  • Не применяйте обновление сразу и не забудьте сделать это позже, когда пользователи не находятся в системе.

  • Запланируйте некоторую утилиту, чтобы заменить ее при следующей перезагрузке.

Ну, у нас есть еще одно решение, доступное для вас: скрипт, который вы вызываете через меню «Отправить», который выполняет следующие действия:

  1. Пытается удалить старый файл.
  2. Если старый файл заблокирован, скрипт ждет 20 секунд. Перейдите к шагу 1.

  3. Если старый файл не заблокирован, старый файл заменяется новым файлом. Перейдите к шагу 4.
  4. При необходимости выйдите из системы после завершения процесса.

Таким образом, вы просто получаете команду замены в движении, и сценарий заботится обо всем остальном. Это может помочь вам избежать отслеживания пользователей или установки ненужных утилит в вашей системе.

Настройка и использование

Сценарий можно разместить в любом месте вашей системы. Тогда все, что вам нужно сделать, это создать ярлык для него в папке SendTo:

Image
Image

Чтобы начать процесс замены, выберите старый файл и новый файл, а затем вызовите параметр «Отправить», щелкнув правой кнопкой мыши на старый файл / файл для замены.

В сценарии будет отображаться то, что произойдет, и представит вам возможность выйти из системы после завершения замены.
В сценарии будет отображаться то, что произойдет, и представит вам возможность выйти из системы после завершения замены.
Сценарий будет постоянно пытаться удалить старый файл, ожидая несколько секунд между попытками.
Сценарий будет постоянно пытаться удалить старый файл, ожидая несколько секунд между попытками.
Все, что вам нужно сделать, это запустить процесс и всякий раз, когда все ваши пользователи отключены, файл будет заменен.
Все, что вам нужно сделать, это запустить процесс и всякий раз, когда все ваши пользователи отключены, файл будет заменен.

защитные меры

В скрипте есть несколько встроенных средств защиты:

  • Старый файл и новый файл четко представлены, чтобы вы точно знали, что произойдет.
  • Вы можете закрыть окно команд в любое время, чтобы остановить действие (конечно, если предположить, что замена еще не была выполнена).
  • Сценарий гарантирует, что вы выбрали только два файла при вызове команды «Отправить». Если вы выберете, например, 1 или 3 файла, вы получите уведомление, и ничего не произойдет.

Сценарий

@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

связи

Скачать скрипт ReplaceFile с сайта SysadminGeek.com

Рекомендуемые: