Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Close Open File (http://forum.oszone.net/showthread.php?t=300627)

Elven 02-06-2015 12:19 2514072

Close Open File
 
На нашей файлопомойке болтаются кой-какие настройки пользователей, работающих через Citrix, и пользователей, как водится, заставить корректно завершать сеанс просто невозможно. В связи с этим на файлопомойке остаются файлы которые якобы открыты, и закрывать их приходится через соответствующую оснастку.

Вопросов два:
1. Возможно ли вообще закрывать эти файлы из командной строки и, если да, как?
2. Возможно ли применение маски (например "D:\Shares\user_profiles\%user_login%\*" или что-то вроде того)?

Конечным результатом собираюсь получить батник запрашивающий логин пользователя и закрывающий файлы в его папке, однако если сие возможно только средствами PowerShell (если возможно вообще, буду просить дополнительной помощи).

Kazun 02-06-2015 12:24 2514079

How to Close All Files Opened by Network Clients from the Command Line - https://support.microsoft.com/en-us/kb/290585

Код:

for /f "skip=4 tokens=1" %a in ('net files') do net files %a /close

Elven 02-06-2015 14:50 2514141

К сожалению net files выводит данные несколько не так как хотелось бы, а посему пришлось немного поизвращаться.
Скрытый текст
фомат вывода приблизительно такой:
1542637 D:\Shares\...\filena.me Ivanov 0

К счастью не дают спокойно жить всего несколько файлов, т.е. закрывать достаточно их.
Код:

@echo off
echo UserLogin
set /p UserLogin=
for /f "tokens=1" %%a in ('net files ^| find /i "%UserLogin%" ^| findstr "file1 file2 file3"') do (
net files %%a /close
)



Время: 03:36.

Время: 03:36.
© OSzone.net 2001-