Trang chủ » làm thế nào để » Dễ dàng thay thế một tệp bị khóa khi nó được mở khóa

    Dễ dàng thay thế một tệp bị khóa khi nó được mở khóa

    Nếu bạn cố cập nhật một số tệp Windows nhất định (chẳng hạn như các chương trình hoặc tài liệu từ) trong khi chúng đang được sử dụng, bạn sẽ nhận được quyền truy cập tiêu chuẩn bị từ chối, tệp đang sử dụng lỗi Lỗi. Trong khi lý do đằng sau điều này là rõ ràng, nó có thể khá khó chịu nếu bạn cần cập nhật một tệp thực thi nhỏ hiện đang được sử dụng bởi một người dùng khác. Trong những tình huống này, trong số những người khác, bạn có những lựa chọn sau đây, tất cả đều chiếm thời gian quý báu của bạn:

    • Theo dõi và liên hệ với người dùng hiện đang sử dụng tệp, yêu cầu họ đóng / lưu công việc của họ, v.v. và sau đó áp dụng bản cập nhật.
    • Đừng áp dụng bản cập nhật ngay lập tức và chỉ cần nhớ thực hiện sau khi người dùng không có trong hệ thống.
    • Lịch trình một số tiện ích để thay thế nó trong lần khởi động lại tiếp theo.

    Chà, chúng tôi có một giải pháp khác dành cho bạn: một tập lệnh bạn gọi thông qua menu Gửi đến, thực hiện như sau:

    1. Cố gắng xóa tập tin cũ.
    2. Nếu tệp cũ bị khóa, tập lệnh sẽ đợi 20 giây. Chuyển đến bước 1.
    3. Nếu tệp cũ không bị khóa, tệp cũ sẽ được thay thế bằng tệp mới. Chuyển đến bước 4.
    4. Tùy chọn đăng xuất sau khi quá trình hoàn tất.

    Bằng cách này, bạn nhận được lệnh thay thế trong chuyển động và tập lệnh sẽ xử lý phần còn lại. Điều này có thể giúp bạn tránh theo dõi người dùng hoặc phải cài đặt các tiện ích không cần thiết trên hệ thống của bạn.

    Cài đặt và sử dụng

    Kịch bản có thể được đặt ở bất cứ đâu trên hệ thống của bạn. Sau đó, tất cả những gì bạn cần làm là tạo một lối tắt đến nó trong thư mục SendTo của bạn:

    Để bắt đầu quá trình thay thế, chọn tệp cũ và tệp mới, sau đó gọi tùy chọn Gửi đến bằng cách nhấp chuột phải vào tập tin / tập tin cũ để thay thế.

    Kịch bản sẽ hiển thị chính xác những gì sẽ xảy ra và cung cấp cho bạn tùy chọn để đăng xuất sau khi hoàn thành thay thế.

    Tập lệnh sẽ liên tục cố gắng xóa tập tin cũ trong khi chờ vài giây ở giữa các lần thử.

    Tất cả bạn phải làm là để quá trình chạy và bất cứ khi nào tất cả người dùng của bạn ra ngoài, tệp sẽ được thay thế.

    Bảo vệ

    Kịch bản có một vài biện pháp bảo vệ được xây dựng:

    • Tệp cũ và tệp mới được trình bày rõ ràng để bạn biết chính xác điều gì sẽ xảy ra.
    • Bạn có thể đóng cửa sổ lệnh bất cứ lúc nào để dừng hành động (tất nhiên, giả sử việc thay thế chưa được thực hiện).
    • Kịch bản sẽ đảm bảo bạn chỉ chọn hai tệp khi bạn gọi lệnh Gửi đến. Nếu bạn chọn, ví dụ: 1 hoặc 3 tệp bạn sẽ nhận được một thông báo và sẽ không có gì xảy ra.

    Kịch bản

    @ECHO TITLE Thay thế tệp bị khóa ECHO Thay thế tệp bị khóa ECHO Viết bởi: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions Xác thực REM. Lỗi SET = 1 IF % 2 ==  (ECHO Phải chọn hai tệp để chạy thay thế. Kết thúc GOTO) NẾU KHÔNG % 3 ==  (ECHO Có hơn 2 tệp được chọn vì vậy tôi không chọn chắc chắn phải làm gì. GOTO End) SET Error = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET Log OfferWhenDone = 0 REM Hiển thị những gì sẽ xảy ra để bạn có cơ hội hủy bỏ. ECHO Tệp cũ:% OldFile% ECHO --------- ECHO Tệp mới:% NewFile% ECHO. ECHO Bạn có thể hủy thay thế Tệp cũ bằng Tệp mới bằng cách đóng ngay bây giờ. ECHO. REM Đăng xuất nhanh chóng. Nếu bạn không muốn thấy điều này, bạn có thể xóa những dòng này. ECHO Tự động đăng xuất sau khi quá trình thay thế đã hoàn thành? ECHO Nhập 'Y' để tự động đăng xuất hoặc nhập bất cứ điều gì khác để không. SET / P Log OfferWhenDone =: DoReplace DEL / F / Q% OldFile% NẾU KHÔNG EXIST% OldFile% (M CHUYỂN% NewFile %% OldFile% ECHO Tệp đã được thay thế thành công. ECHO Tệp cũ vẫn bị khóa. Chờ đợi một lát để thử lại. TIMEOUT / T 20 GOTO DoReplace: End IF % Error% == 1 (Hướng dẫn sử dụng ECHO: ECHO 1. Chọn hai tệp trong Windows Explorer. ECHO 2. Nhấp chuột phải vào Tệp cũ và đi Gửi đến - Thay thế tệp bị khóa ECHO. ECHO Tệp bạn nhấp chuột phải sẽ được thay thế bằng tệp đã chọn khác. ECHO. ECHO Dừng mà không làm gì. Nhấn phím bất kỳ để đóng. TIMEOUT / T 15) IF / I % Log OfferWhenDone% == Y (Tùy chọn ECHO. ECHO để đăng xuất khi hoàn thành đã được chọn. ECHO Bạn sẽ được đăng xuất ngay. SHUTDOWN / L) ENDLOCAL 

    Liên kết

    Tải xuống Script ScriptFile từ SysadminGeek.com