17

Я использую Windows 8 Enterprise x64. Когда я открываю \\localhost\c$ как сетевую папку, а затем с помощью контекстного меню открываю окно свойств подпапки (например, \\localhost\c$\Deploy как в примере ниже), появляется вкладка Предыдущие версии где я могу увидеть список доступных предыдущих версий папки вместе с соответствующими временными метками:

Вкладка «Предыдущие версии»


Если я выбираю версию и нажимаю кнопку « Открыть» , открывается новое окно проводника, где я могу просмотреть выбранную предыдущую версию папки:

Расположение на вкладке «Общие»


В адресной строке отображается место, где к каждому имени папки добавляется метка времени (в длинной читаемой человеком форме). Это местоположение, если оно скопировано оттуда, не может быть напрямую использовано в качестве допустимого пути в другом окне проводника или в инструменте командной строки. Но если я открою окно « Свойства» субфлода, то оно отобразит местоположение подпапки в форме, такой как \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy . Эта форма может фактически использоваться как в Проводнике, так и в командной строке:

C:\>dir \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy /s
 Volume in drive \\localhost\c$ is OSDisk
 Volume Serial Number is ▨▨▨▨-▨▨▨▨

 Directory of \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy

04/11/2013  10:53 AM    <DIR>          .
04/11/2013  10:53 AM    <DIR>          ..
04/11/2013  10:53 AM    <DIR>          Tools
               0 File(s)              0 bytes

 Directory of \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy\Tools

04/11/2013  10:53 AM    <DIR>          .
04/11/2013  10:53 AM    <DIR>          ..
04/11/2013  10:53 AM    <DIR>          x64
               0 File(s)              0 bytes

 Directory of \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy\Tools\x64

04/11/2013  10:53 AM    <DIR>          .
04/11/2013  10:53 AM    <DIR>          ..
08/30/2012  06:10 PM           325,272 ▨▨▨▨▨▨▨▨.dll
               1 File(s)        325,272 bytes

     Total Files Listed:
               1 File(s)        325,272 bytes
               8 Dir(s)  70,546,321,408 bytes free

И в PowerShell тоже:

PS C:\> pushd \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy
PS Microsoft.PowerShell.Core\FileSystem::\\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy> ls -r


    Directory: \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         4/11/2013  10:53 AM            Tools


    Directory: \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy\Tools


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         4/11/2013  10:53 AM            x64


    Directory: \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy\Tools\x64


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         8/30/2012   6:10 PM     325272 ▨▨▨▨▨▨▨▨.dll

Похоже, что папка с волшебным именем @GMT-2013.08.27-04.01.18 (предположительно представляющая метку времени в часовом поясе GMT) ведет себя так, как если бы она действительно существовала там, за исключением того, что вы не можете обнаружить ее существование с помощью команды dir если Вы уже знаете его имя. Все файлы и папки в этой папке доступны только для чтения: там ничего нельзя создать, удалить, переименовать или изменить (включая атрибуты файла / папки и разрешения). Если вы являетесь администратором, но у вас нет разрешений на просмотр определенных файлов, вы не можете изменить это, если сначала вам не удастся скопировать содержащую папку в недоступное для чтения место.

Вопрос: Можно ли получить список версий определенной папки, например, показанный на первом снимке экрана, и программно открыть одну из них в новом окне проводника (используя PowerShell, WMI, WSH, BAT, Win32 API и т.д. )? Можно ли программно получить список соответствующих папок с волшебными именами, например @GMT-2013.08.27-04.01.18 ?

1 ответ1

12

Утилита volrest , доступная из средств Windows Server 2003 Resource Kit Tools , может быть использована для отображения предыдущих версий папки. Он работал для меня на Windows 7 и все еще должен работать на Windows 8. Просто будьте осторожны с вашими параметрами, так как он также может восстановить предыдущие версии.

Пример использования (из приведенной ниже ссылки):

C:\>volrest "\\test220\reports\Annual Reports 2004\doc.4.rtf"

VOLREST 1.1 - Previous Version command-line tool
(C) Copyright 2003 Microsoft Corp.

 Searching previous versions on \\test220\reports\annual report 2004\doc.4.rtf

07/01/2004  01:28 PM    37,786 \\test220\reports\@GMT-2004.07.01-18.34.35\annual 
                           report 2004\doc.4.rtf
07/01/2004  01:27 PM    37,740 \\test220\reports\@GMT-2004.07.01-18.28.02\annual 
                           report 2004\doc.4.rtf
07/01/2004  11:47 AM    37,690 \\test220\reports\@GMT-2004.07.01-18.24.41\annual 
                           report 2004\doc.4.rtf

            3 File(s)  113,216 bytes
            0 Dir(s)

С выходными данными этой программы, которые, возможно, будут использоваться с параметром /B для обычного формата, вы сможете создать сценарий, который будет использовать одну из перечисленных версий.

Для получения дополнительной информации см .: Windows Server Hacks: Восстановление теневых копий с помощью командной строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .