15Jul
Se si tenta di aggiornare determinati file di Windows( come programmi o documenti word) mentre sono in uso, si ottiene l'errore standard "accesso negato, file in uso".Mentre il ragionamento alla base di questo è ovvio, può essere abbastanza fastidioso se è necessario aggiornare un piccolo eseguibile che è attualmente in uso da un altro utente. In queste situazioni, hai, tra le altre, le seguenti opzioni, che prendono tutto il tuo prezioso tempo:
- Tieni traccia e contatta gli utenti che stanno attualmente utilizzando il file, di 'loro di chiudere / salvare il loro lavoro, ecc.quindi applicare l'aggiornamento.
- Non applicare immediatamente l'aggiornamento e ricordarsi di farlo in un secondo momento quando gli utenti non si trovano nel sistema.
- Pianificare alcune utility per sostituirlo al prossimo riavvio.
Bene, abbiamo un'altra soluzione disponibile per te: uno script che invochi tramite il menu Invia a che fa quanto segue:
- Cerca di cancellare il vecchio file.
- Se il vecchio file è bloccato, lo script attende 20 secondi. Passare al punto 1.
- Se il vecchio file non è bloccato, il vecchio file viene sostituito con il nuovo file. Passare al punto 4.
- Disconnettersi facoltativamente una volta terminato il processo.
In questo modo, ottieni il comando di sostituzione in movimento e lo script si occupa del resto. Questo può aiutarti a evitare di rintracciare gli utenti o dover installare utility non necessarie sul tuo sistema. Installazione e uso di
Lo script può essere inserito in qualsiasi punto del sistema. Quindi è sufficiente creare un collegamento nella cartella SendTo:
Per avviare il processo di sostituzione, selezionare il vecchio file e il nuovo file e quindi richiamare l'opzione Invia a facendo clic con il tasto destro sul vecchio file / file da sostituire.
Lo script mostrerà esattamente cosa accadrà e ti presenterà l'opzione di disconnessione una volta completata la sostituzione.
Lo script cercherà continuamente di eliminare il vecchio file mentre attende diversi secondi tra un tentativo e l'altro.
Tutto quello che devi fare è far funzionare il processo e ogni volta che tutti gli utenti sono fuori, il file verrà sostituito.
Safeguards
Lo script ha un paio di protezioni incorporate:
- Il vecchio file e il nuovo file sono presentati in modo chiaro in modo da sapere esattamente cosa accadrà.
- È possibile chiudere la finestra di comando in qualunque momento per interrompere l'azione( ovviamente supponendo che la sostituzione non sia già stata eseguita).
- Lo script assicurerà di aver selezionato solo due file quando invochi il comando Invia a. Se selezioni, ad esempio, 1 o 3 file, riceverai un messaggio di avviso e non accadrà nulla.
Lo script
@ECHO OFF TITLE Sostituisci file bloccato ECHO Sostituisci file bloccato ECHO Scritto da: Jason Faulkner ECHO SysadminGeek.com ECHO.ECO.SETLOCAL EnableExtensions REM Validation. SET Error = 1 IF{ % 2} =={ }( ECHO Due file devono essere selezionati per eseguire la sostituzione GOTO End) IF NOT{ % 3} =={ }( ECHO Sono stati selezionati più di 2 file quindi non sonoGOTO End) SET Error = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Mostra ciò che accadrà in modo da avere la possibilità di annullare. ECHO Vecchio file:% VecchioFile% ECHO --------- Nuovo file ECHO:% NuovoFile% ECHO.ECHO È possibile annullare la sostituzione del vecchio file con il nuovo file chiudendo ora. ECO.REM Disconnetti prompt. Se non vuoi vedere questo, puoi cancellare queste righe. ECHO Si disconnette automaticamente una volta completato il processo di sostituzione? ECHO Inserire 'Y' per disconnettersi automaticamente o inserire altro da no. SET / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% IF NOT EXIST% OldFile%( MOVE% NewFile%% OldFile% ECHO File sostituito con successo GOTO End) ECHO.ECHO Il vecchio file è ancora bloccato. Aspettando qualche momento per riprovare. TIMEOUT / T 20 GOTO DoReplace: End IF{ % Error%} =={ 1}( Istruzioni ECHO per l'uso: ECHO 1. Selezionare i due file in Esplora risorse: ECHO 2. Fare clic con il pulsante destro del mouse sul file precedente e andare a Invia a -Sostituisci ECHO file bloccato ECHO Il file su cui si è fatto clic con il tasto destro verrà sostituito con l'altro file selezionato ECHO ECHO Arresto senza fare nulla Premere qualsiasi tasto per chiudere TIMEOUT / T 15) IF / I{ % LogOffWhenDone%} =={Y}( ECHO ECHO Opzione per disconnettersi quando è stato selezionato.) ECHO Verrai disconnesso brevemente SHUTDOWN / L) ENDLOCALCollegamenti
Scarica ReplaceFile Script da SysadminGeek.com