15Jul

Kilitli bir Dosyayı, Kilidi Açıldıktan Sonra Kolayca Değiştirin

Bazı Windows dosyalarını( örneğin, programlar veya sözcük belgeleri gibi) kullanımdayken güncellemeyi denerseniz, standart "erişim reddedildi, dosya kullanımda" hatası alırsınız. Bunun ardındaki mantık açık olsa da, şu anda başka bir kullanıcı tarafından kullanılan küçük bir yürütülebilir dosyayı güncellemeniz gerekiyorsa, oldukça can sıkıcı olabilir. Bu durumlarda, diğerlerinin yanı sıra aşağıdaki seçeneklerin hepsi sizin değerli zamanınızı alır:

  • Dosyayı şu anda kullanan kullanıcıları takip edin ve iletişim kurun, çalışmalarını kapatmasını / kaydetmesini söyleyin vb. Vesonra güncelleştirmeyi uygulayın.
  • Güncellemeyi derhal uygulamayın ve kullanıcılar sistemde değilken daha sonra tekrar etmeyi unutmayın.
  • Sonraki yeniden başlatmada yerini alacak bir yardımcı programı planlayın.

Size uygun başka bir çözümümüz var: Gönderen menüsünü kullanarak aşağıdakileri yapan bir komut dosyası:

  1. Eski dosyayı silmeyi deniyor.
  2. Eski dosya kilitliyse, komut dosyası 20 saniye bekler.1. adıma gidin.
  3. Eski dosya kilitli değilse, eski dosya yeni dosya ile değiştirilir.4. adıma geçin.
  4. İşlem tamamlandıktan sonra isteğe bağlı olarak çıkış yapın.

Bu şekilde, değiştirme komutunu harekete geçirirsiniz ve betik gerisini halleder. Bu, kullanıcıları izlemenizi veya sisteminize gereksiz yardımcı programları yüklemenizi önlemenize yardımcı olabilir.

Kurulumu ve Kullanımı

Komut dosyası sisteminizdeki herhangi bir yere yerleştirilebilir. Ardından tek yapmanız gereken SendTo klasörünüzde bir kısayol oluşturmaktır:

Değiştirme işlemini başlatmak için eski dosyayı ve yeni dosyayı seçin ve yerine eski dosyasını / dosyasını sağ tıklayarak Gönder seçeneğini çağırın. .

Komut dosyası tam olarak ne olacağını gösterecek ve değiştirme işlemi tamamlandıktan sonra oturumunuzdan çıkma seçeneği sunacaktır.

Betik, denemeler arasında birkaç saniye beklerken sürekli olarak eski dosyayı silmeye çalışacaktır.

Yapmanız gereken tek şey, işlemi çalıştırmaktır ve tüm kullanıcılarınız her çıktığında, dosya değiştirilecektir.

Koruyucular

Bu betikte birkaç güvenlik uyarısı bulunmaktadır:

  • Eski dosya ve yeni dosya açıkça sunulmuştur, böylece tam olarak ne olacağını bilirsiniz.
  • İşlemi durdurmak için komut penceresini istediğiniz zaman kapatabilirsiniz( tabii ki, değiştirme işlemi gerçekleştirilmediğini varsayarsak).
  • Komut dosyası, Gönder komutu çağırıldığında yalnızca iki dosya seçtiğinizi garanti eder.Örneğin 1 veya 3 dosyayı seçerseniz bir uyarı mesajı alırsınız ve hiçbir şey olmayacaktır.

Senaryo

@ECHO KAPALI BAŞLIK Kilitli Dosyayı Değiştir ECHO Kilitli Dosyayı Değiştir ECHO Yazan: Jason Faulkner ECHO SysadminGeek.com ECHO.EKO.SETLOCAL EnableExtensions REM Doğrulaması.SET HATASI = 1 IF{ % 2} =={ }( ECHO Değiştirmeyi çalıştırmak için iki dosya seçilmeli GOTO Bitir) IF NOT{ % 3} =={ }( ECHO 2'den fazla dosya seçildi, öyle değilimEmin olun ne yapacağım GOTO End) SET Hata = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Ne olacağını gösterin, böylece iptal etme şansınız olacak. ECHO Eski Dosya:% OldFile% ECHO --------- ECHO Yeni Dosya:% NewFile% ECHO.ECHO Eski Dosyayı Değiştirme işlemini şimdi kapatarak Yeni Dosyayla iptal edebilirsiniz. EKO.REM Oturumu kapatma istemi. Bunu görmek istemiyorsanız, bu satırları silebilirsiniz. ECHO Değiştirme işlemi tamamlandıktan sonra otomatik olarak oturumu kapatın? ECHO Otomatik olarak oturumu kapatmak için 'Y' yazın veya başka bir şey girmeyin. SET / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% IF NOT EXIST% OldFile%( MOVE% NewFile%% OldFile% ECHO Dosyası başarıyla değiştirildi GOTO End) ECHO.ECHO Eski Dosya hala kilitli. Tekrar denemek için birkaç dakika beklemek. ECHO 1. Windows Gezgini'nde iki dosyayı seçin ECHO 2. Eski Dosyaya sağ tıklayın ve Gönder'e gidin - ECHO 2. Eski Dosya'ya sağ tıklayın ve Gönder'e gidin -Kilitli Dosya Değiştir ECHO ECHO Sağ tıkladığınız dosyanın seçilen diğer dosya ile değiştirilmesi ECHO ECHO Hiçbir şey yapmadan durma Kapatmak için herhangi bir tuşa basın TIMEOUT / T 15) IF / I{ % LogOffWhenDone%} =={Y}( ECHO ECHO Tamamlandığında Oturum Kapatma Seçildi ECHO Kısa süre kapalı kalacaksınız SHUTDOWN / L) ENDLOCAL

Bağlantılar

ReplaceFile Komut Dosyasını SysadminGeek.com adresinden indirin