Fermeture automatique de fichiers
infomag
Messages postés
188
Date d'inscription
Statut
Membre
Dernière intervention
-
barnabe0057 Messages postés 14455 Date d'inscription Statut Contributeur Dernière intervention -
barnabe0057 Messages postés 14455 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaiterais fermer automatiquement 2 fichiers qui sont en lecture seule sur les postes de mes utilisateurs ; la fermeture aurait lieu la nuit, afin que l'on puisse remplacer ces deux fichiers par deux autres (suite à mise à jour de la bdd).
La commande net file me paraît pas mal, mais quand je fais un essai sur mon ordi, le fichier reste ouvert (alors que la commande s'est bien exécutée...).
Le serveur est sous Windows 2008 r2.
Savez-vous ce que je dois faire ?
Merci par avance !
Je souhaiterais fermer automatiquement 2 fichiers qui sont en lecture seule sur les postes de mes utilisateurs ; la fermeture aurait lieu la nuit, afin que l'on puisse remplacer ces deux fichiers par deux autres (suite à mise à jour de la bdd).
La commande net file me paraît pas mal, mais quand je fais un essai sur mon ordi, le fichier reste ouvert (alors que la commande s'est bien exécutée...).
Le serveur est sous Windows 2008 r2.
Savez-vous ce que je dois faire ?
Merci par avance !
A voir également:
- Fermeture automatique de fichiers
- Logiciel de sauvegarde automatique gratuit - Guide
- Réponse automatique thunderbird - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Explorateur de fichiers - Guide
- Renommer des fichiers en masse - Guide
3 réponses
Bonjour,
Tu as bien utilisé NET FILE avec l'ID du fichier et le commutateur /close ?
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
Tu as bien utilisé NET FILE avec l'ID du fichier et le commutateur /close ?
“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
Oui !
Je récupère l'id en faisant un NET CLOSE (1ère colonne de ce qui s'affiche), c'est bien cela ? (mais ce qui est bizarre il est vrai, c'est que pour un même fichier, j'ai plusieurs lignes et donc plusieurs id possibles...).
Merci !!!
Je récupère l'id en faisant un NET CLOSE (1ère colonne de ce qui s'affiche), c'est bien cela ? (mais ce qui est bizarre il est vrai, c'est que pour un même fichier, j'ai plusieurs lignes et donc plusieurs id possibles...).
Merci !!!
J'ai improvisé un petit script batch :
Ce script est à exécuter à l'aide du clic-droit "executer en tant qu'admin"
Dis-moi si ça va mieux ou pas.
@echo off
for /L %%A in (0,1,100) do (
echo ID : %%A
(net file %%A | findstr /I "test1.xlsx") && (call :fermeture %%A)
)
pause
exit
:fermeture
net file %1 /close
ping -n 1 localhost > nul
(net file %1 | findstr /I "test1.xlsx") && (call :fermeture %1)
goto :eof
rem
Ce script est à exécuter à l'aide du clic-droit "executer en tant qu'admin"
Dis-moi si ça va mieux ou pas.
Ok, alors au lieu de balayer une plage d'ID, on va chercher directement l'ID du fichier :
@echo off
chcp 1252 > nul
setlocal enableextensions enableDelayedExpansion
set "dv==::"
if defined !dv! (
echo. & echo ##### Veuillez lancer le script en Administrateur #####
timeout /t 5
endlocal & exit
)
for %%E in (test1.xls test2.xls) do (
for /f "tokens=1 delims= " %%A in ('net file ^| findstr /i "%%E"') do (call :fermeture %%A "%%E")
)
echo. & echo ##### Traitement terminé #####
echo. & pause
endlocal
exit
:fermeture
echo. & echo ID %1 en cours de fermeture ...
net file %1 /close
ping -n 2 localhost > nul
(>nul 2>&1 net file %1 | findstr /i "%~2") && (call :fermeture %1)
goto :eof
rem
Chez moi aussi le fichier excel reste ouvert, mais ce qui est plus bizarre c'est que quand tu fais un NET FILE tu vois le fichier dans la liste mais c'est marqué :
"verrous = 0"
Donc ça veut dire que l'ouverture du fichier n'active pas forcément un verrou, ou bien ça veut dire que ce type de verrou n'est pas pris en compte par NET FILE
"verrous = 0"
Donc ça veut dire que l'ouverture du fichier n'active pas forcément un verrou, ou bien ça veut dire que ce type de verrou n'est pas pris en compte par NET FILE