Remplacer facilement un fichier verrouillé une fois qu'il est déverrouillé
Si vous essayez de mettre à jour certains fichiers Windows (tels que des programmes ou des documents Word) en cours d'utilisation, vous obtenez l'erreur standard «accès refusé, le fichier est en cours d'utilisation». Bien que le raisonnement derrière cela soit évident, il peut être assez gênant de devoir mettre à jour un petit exécutable actuellement utilisé par un autre utilisateur. Dans ces situations, vous avez, entre autres, les choix suivants, qui occupent tous votre temps précieux:
- Recherchez et contactez les utilisateurs qui utilisent actuellement le fichier, dites-leur de fermer / sauvegarder leur travail, etc., puis appliquez la mise à jour..
- N'appliquez pas la mise à jour immédiatement et rappelez-vous de le faire plus tard lorsque les utilisateurs ne sont pas dans le système..
- Planifiez un utilitaire pour le remplacer au prochain redémarrage.
Nous avons une autre solution à votre disposition: un script que vous appelez via le menu Envoyer à qui effectue les opérations suivantes:
- Essaie de supprimer l'ancien fichier.
- Si l'ancien fichier est verrouillé, le script attend 20 secondes. Aller à l'étape 1.
- Si l'ancien fichier n'est pas verrouillé, l'ancien fichier est remplacé par le nouveau fichier. Aller à l'étape 4.
- Se déconnecter éventuellement une fois le processus terminé.
De cette façon, vous obtenez juste la commande de remplacement en mouvement et le script se charge du reste. Cela peut vous aider à éviter de traquer des utilisateurs ou d'avoir à installer des utilitaires inutiles sur votre système..
Configuration et utilisation
Le script peut être placé n'importe où sur votre système. Il vous suffit ensuite de créer un raccourci dans votre dossier SendTo:
Pour démarrer le processus de remplacement, sélectionnez l'ancien fichier et le nouveau fichier, puis appelez l'option Envoyer à en cliquant à l'aide du bouton droit de la souris. ancien fichier / fichier à remplacer.
Le script affichera exactement ce qui se passera et vous présentera l'option de vous déconnecter une fois le remplacement terminé..
Le script essaie en permanence de supprimer l'ancien fichier en attendant plusieurs secondes..
Tout ce que vous avez à faire est de lancer le processus et à chaque fois que tous vos utilisateurs seront absents, le fichier sera remplacé.
Sauvegardes
Le script a quelques sauvegardes intégrées:
- L'ancien fichier et le nouveau fichier sont clairement présentés afin que vous sachiez exactement ce qui se passera.
- Vous pouvez fermer la fenêtre de commande à tout moment pour arrêter l'action (bien sûr, en supposant que le remplacement n'ait pas déjà été effectué).
- Le script garantira que vous n'avez sélectionné que deux fichiers lorsque vous appelez la commande Envoyer à. Si vous sélectionnez, par exemple, 1 ou 3 fichiers, vous recevrez un message d’avis et rien ne se passera..
Le scénario
@ECHO OFF TITLE Remplacer le fichier verrouillé ECHO Remplacer le fichier verrouillé ECHO Écrit par: Jason Faulkner ECHO SysadminGeek.com ECHO. ÉCHO. SETLOCAL EnableExtensions REM Validation. Erreur SET = 1 SI % 2 == (Deux fichiers doivent être sélectionnés pour exécuter le remplacement. GOTO Fin) SI NON % 3 == (Plus de deux fichiers ont été sélectionnés, je ne suis donc pas sélectionné. GOTO End) SET Error = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Indiquez ce qui se passera pour pouvoir annuler votre participation. Ancien fichier ECHO:% OldFile% ECHO --------- Nouveau fichier ECHO:% NewFile% ECHO. ECHO Vous pouvez annuler le remplacement de l'ancien fichier par le nouveau fichier en fermant maintenant. ÉCHO. REM Déconnecter l'invite. Si vous ne voulez pas voir cela, vous pouvez supprimer ces lignes. ECHO se déconnecte automatiquement une fois le processus de remplacement terminé? ECHO Entrez «Y» pour vous déconnecter automatiquement ou saisissez quelque chose d'autre pour ne pas le faire. SET / P LogOffWhenDone =: Remplacez DEL / F / Q% OldFile% SI PAS EXIST% OldFile% (MOVE% NewFile%% OldFile% Fichier ECHO remplacé avec succès. GOTO Fin) ECHO. ECHO L'ancien fichier est toujours verrouillé. Attendre quelques instants pour réessayer. TIMEOUT / T 20 GOTO DoReplace: End IF % Error% == 1 (Mode d'emploi ECHO: ECHO 1. Sélectionnez les deux fichiers dans l'explorateur Windows. ECHO 2. Faites un clic droit sur l'ancien fichier et cliquez sur Envoyer à - Remplacer le fichier verrouillé ECHO. ECHO Le fichier sur lequel vous avez fait un clic droit sera remplacé par l'autre fichier sélectionné. ECHO. ECHO Arrêter sans rien faire. Appuyez sur n'importe quelle touche pour fermer. TIMEOUT / 15) IF / I % LogOffWhenDone% == Y (ECHO. ECHO L'option de fermeture de session une fois l'opération terminée a été sélectionnée. ECHO Vous serez bientôt déconnecté. SHUTDOWN / L) ENDLOCAL
Liens
Téléchargez le script ReplaceFile à partir de SysadminGeek.com