15Jul

Korvaa helposti lukittu tiedosto, kun se avautuu

Jos yrität päivittää tiettyjä Windows-tiedostoja( kuten ohjelmia tai sanakirjoja), kun niitä käytetään, saat standardin "pääsy kieltäytynyt, tiedosto on käytössä" -virhe. Vaikka tämä johtopäätös on ilmeinen, voi olla äärimmäisen ärsyttävää, jos haluat päivittää pienen suoritustiedoston, jota toinen käyttäjä käyttää tällä hetkellä.Näissä tilanteissa sinulla on muun muassa seuraavat valinnat, jotka kaikki vievät arvokasta aikaa:

  • Seuraa ja ota yhteyttä käyttäjiin, jotka käyttävät tiedostoa, ilmoittavat heille sulkemista / tallentamistaan ​​työtä jne.päivitä sitten päivitys.
  • Älä asenna päivitystä välittömästi ja muista tehdä se myöhemmin, kun käyttäjät eivät ole järjestelmässä.
  • Aseta jokin apuohjelma sen korvaamiseksi seuraavan uudelleenkäynnistyksen yhteydessä.

No, meillä on toinen ratkaisu sinulle: skripti, jota vedät Send To -valikossa, joka tekee seuraavia:

  1. Yritetään poistaa vanha tiedosto.
  2. Jos vanha tiedosto on lukittu, komentosarja odottaa 20 sekuntia. Siirry vaiheeseen 1.
  3. Jos vanha tiedosto ei ole lukittu, vanha tiedosto korvataan uudella tiedostolla. Siirry vaiheeseen 4.
  4. Voit kirjautua pois päältä, kun prosessi on suoritettu.

Tällä tavalla saat vain korvaavan komennon liikkeellä ja käsikirjoitus hoitaa loput. Tämä voi auttaa sinua välttämään käyttäjien seurantaa tai asentamaan tarpeettomia apuohjelmia järjestelmään.

Asennus ja käyttö

Skripti voidaan sijoittaa mihin tahansa järjestelmään. Tällöin sinun tarvitsee vain luoda pikakuvake SendTo-kansioosi:

Voit aloittaa korvausprosessin valitsemalla vanhan tiedoston ja uuden tiedoston ja kutsumalla sitten Lähetä-vaihtoehdon napsauttamalla hiiren kakkospainikkeella : n vanhaa tiedostoa / tiedostoa, joka korvaa.

Skripti näyttää täsmälleen mitä tapahtuu ja antaa sinulle mahdollisuuden olla kirjautuneena pois, kun korvaus on valmis.

Komentosarja yrittää jatkuvasti poistaa vanhasta tiedostosta odottaen useita sekunteja kokeiden välillä.

Sinun tarvitsee vain saada prosessi käynnissä ja aina, kun kaikki käyttäjät ovat poissa, tiedosto korvataan.

Turvaamistoimenpiteet

Skripti sisältää muutamia suojatoimenpiteitä:

  • Vanha tiedosto ja uusi tiedosto on esitetty selkeästi, jotta tiedät tarkalleen mitä tapahtuu.
  • Voit lopettaa komentoikkunan milloin tahansa lopettaaksesi toiminnan( tietenkin, jos korvausta ei ole tehty jo).
  • Skripti varmistaa, että olet valinnut vain kaksi tiedostoa, kun kutsut Lähetä-komentoa. Jos valitset esimerkiksi 1 tai 3 tiedostoa, saat ilmoitussanoman, eikä mitään tapahdu.

Script

@ECHO OFF TITLE Korvaa lukittu tiedosto ECHO Korvaa lukittu tiedosto ECHO Kirjoittanut: Jason Faulkner ECHO SysadminGeek.com ECHO.KAIKU.SETLOCAL EnableExtensions REM Validation. SET Error = 1 IF{ % 2} =={ }( ECHO Kaksi tiedostoa on valittava suorittamaan korvaus. GOTO End) Jos ei{ % 3} =={ }( ECHO valittiin yli 2 tiedostoa, joten en oleGOTO End) SET Error = 0 SET OldFile = "% ~ f1" SET Uusi tiedosto = "% ~ f2" SET LogOffWhenDone = 0 REM Näytä mitä tapahtuu, jotta voit peruuttaa. ECHO Vanha tiedosto:% OldFile% ECHO --------- ECHO Uusi tiedosto:% NewFile% ECHO.ECHO Voit peruuttaa vanhan tiedoston korvaamisen uudella tiedostolla sulkemalla nyt. KAIKU.REM-uloskirjautuminen. Jos et halua nähdä tätä, voit poistaa nämä rivit. ECHO automaattisesti kirjaudut ulos, kun vaihdon prosessi on suoritettu? ECHO Anna "Y" kirjautumiseen automaattisesti tai anna jotain muuta. SET / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% JOS OLET OLLA% OldFile%( MOVE% NewFile%% OldFile% ECHO-tiedosto korvattiin menestyksekkäästi GOTO End) ECHO.ECHO Vanha tiedosto on edelleen lukittu. Odottaa muutama hetki kokeilla uudelleen. TIMEOUT / T 20 GOTO DoReplace: Lopeta IF{ % Error%} =={ 1}( ECHO Käyttöohje: ECHO 1. Valitse kaksi tiedostoa Resurssienhallinnassa. ECHO 2. Napsauta hiiren kakkospainikkeella vanhaa tiedostoa ja siirry Lähetä -Vaihda lukittu tiedosto ECHO ECHO Oikealla klikkaamasi tiedosto korvataan toisella valitulla tiedostolla ECHO ECHO Pysähtyy tekemättä mitään Sulje painamalla mitä tahansa näppäintä TIMEOUT / T 15) IF / I{ % LogOffWhenDone%} =={Y}( ECHO: n vaihtoehdon kirjautumisen jälkeen, kun valinta on valittu ECHO: n kirjaudut pian pois käytöstä) SHIFT / L) ENDLOCAL

Linkit

Lataa ReplaceFile Script SysadminGeek.comista