83 votes

Comment puis-je déterminer si un fichier spécifique est ouvert dans Windows ?

L'un de mes outils préférés pour linux est lsof - un véritable couteau suisse !

Aujourd'hui, je me suis demandé quels programmes d'un système WinXP avaient un fichier spécifique ouvert. Existe-t-il un utilitaire équivalent à lsof ? De plus, le fichier en question était sur un partage réseau, je ne sais pas si cela complique les choses.

5voto

Sean Points 22088

Si le fichier est un .dll, vous pouvez utiliser la fonction Liste de tâches l'application en ligne de commande pour voir qui l'a ouvert :

TaskList /M nameof.dll

3voto

Matt Hamilton Points 98268

Si vous cliquez avec le bouton droit de la souris sur l'icône "Ordinateur" (ou "Poste de travail") et que vous sélectionnez "Gérer" dans le menu contextuel, vous accédez à la console de gestion de l'ordinateur.

Là, sous Outils système \Shared Dossiers, vous trouverez "Ouvrir des fichiers". C'est probablement proche de ce que vous voulez, mais si le fichier est sur un partage réseau, vous devrez faire la même chose sur le serveur sur lequel le fichier se trouve.

3voto

anonymous Points 41

Il existe un programme "OpenFiles", qui semble faire partie de Windows 7. Il semble qu'il puisse faire ce que vous voulez. Il peut lister les fichiers ouverts par des utilisateurs distants (via le partage de fichiers) et, après avoir appelé "openfiles /Local on" et un redémarrage du système, il devrait être capable d'afficher les fichiers ouverts localement. Cette dernière option est réputée avoir des inconvénients en termes de performances.

2voto

pushNpop Points 361

Utilisez Process Explorer pour trouver l'identifiant du processus. Utilisez ensuite Poignée pour savoir quels fichiers sont ouverts.

Manche Eg -p

J'aime cette approche car vous utilisez des utilitaires de Microsoft lui-même.

2voto

M8R-qpgep8 Points 11

En OpenedFilesView Dans le menu Options, il y a un élément de menu appelé "Show Network Files". Si cette option est activée, l'utilitaire susmentionné pourra peut-être vous être utile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X