प्रोग्राम के पिछले संस्करणों को प्रोग्रामेटिक रूप से कैसे ढूंढें और खोलें (PowerShell, WMI, आदि का उपयोग करके)?


18

मैं विंडोज 8 एंटरप्राइज 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(संभवतः जीएमटी समय क्षेत्र में टाइमस्टैम्प का प्रतिनिधित्व करता है) ऐसा व्यवहार करता है मानो यह वास्तव में वहां से बाहर निकल गया हो, सिवाय इसके कि आप dirकमांड का उपयोग करके इसके अस्तित्व की खोज नहीं कर सकते जब तक कि आपको पहले से ही इसका नाम पता न हो। इस फ़ोल्डर के नीचे की सभी फाइलें और फ़ोल्डर केवल पढ़ने के लिए हैं: कुछ भी नहीं बनाया जा सकता है, नष्ट, नाम बदला जा सकता है या बदल दिया जा सकता है (फ़ाइल / फ़ोल्डर विशेषताओं और अनुमतियों सहित)। यदि आप एक व्यवस्थापक हैं, लेकिन कुछ फ़ाइलों को देखने की अनुमति नहीं है, तो आप इसे तब तक नहीं बदल सकते, जब तक कि आप पहली बार किसी फ़ोल्डर को गैर-रीडायनली स्थान पर कॉपी करने का प्रबंधन न करें।

प्रश्न: क्या किसी निश्चित फ़ोल्डर के संस्करणों की सूची प्राप्त करना संभव है, जैसे कि पहले स्क्रीनशॉट पर दिखाया गया है, और उनमें से एक को प्रोग्रामर विंडो में प्रोग्रामेटिक रूप से खोलें (PowerShell, WMI, WSH, BAT, Win32 API आदि का उपयोग करके)। )? क्या @GMT-2013.08.27-04.01.18 प्रोग्रामेटिक रूप से जादू के नाम वाले संगत फ़ोल्डर्स की सूची प्राप्त करना संभव है ?

जवाबों:


12

volrestउपयोगिता, से उपलब्ध विंडोज सर्वर 2003 संसाधन किट उपकरण , एक फ़ोल्डर के पिछले संस्करण को सूचीबद्ध करने के लिए इस्तेमाल किया जा सकता है। यह मेरे लिए विंडोज 7 पर काम करता है और अभी भी विंडोज 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नंगे प्रारूप के लिए पैरामीटर के साथ उपयोग किया जाता है , आपको एक स्क्रिप्ट का निर्माण करने में सक्षम होना चाहिए जो सूचीबद्ध संस्करणों में से एक का पता लगाएगा।

अधिक जानकारी के लिए देखें: विंडोज सर्वर हैक्स: कमांड लाइन का उपयोग करके छाया प्रतियां बहाल करना


1

उत्तर देर से, लेकिन मैंने कोशिश की volrestऔर यह विंडोज 10 पर काम नहीं करता है। जैसा कि ओपी ने देखा है, @GMT-yadayadayadaजादू फ़ोल्डर तब तक प्रकट नहीं होता है जब तक कि आप गुणों में पिछले संस्करणों टैब से एक्सप्लोरर में फ़ोल्डर को ऊपर नहीं लाते।

एक दृष्टिकोण जो मेरे लिए काम कर रहा है वह है उपयोग करने के लिए mklink। प्रश्न में कंप्यूटर / सर्वर पर व्यवस्थापक के रूप में, कमांड प्रॉम्प्ट खोलें और टाइप करें vssadmin list shadows:

C:\WINDOWS\system32>vssadmin list shadows
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.

Contents of shadow copy set ID: {5a052a28-96de-4924-b669-9e671b5ce069}
   Contained 1 shadow copies at creation time: 4/07/2019 4:31:12 PM
      Shadow Copy ID: {aaeab260-fef9-4ddc-9190-78d226de07a7}
         Original Volume: (C:)\\?\Volume{010e4355-9f97-4911-99f7-4ef45974b946}\
         Shadow Copy Volume: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
         Originating Machine: DESKTOPPC.domain.local
         Service Machine: DESKTOPPC.domain.local
         Provider: 'Microsoft Software Shadow Copy provider 1.0'
         Type: ClientAccessibleWriters
         Attributes: Persistent, Client-accessible, No auto release, Differential, Auto recovered

Contents of shadow copy set ID: {f2494e05-cb0c-4161-aa67-a545fe562b50}
   Contained 1 shadow copies at creation time: 11/07/2019 3:00:16 AM
      Shadow Copy ID: {c3e0566b-0b39-4080-b5ae-ca6e2a2c56c4}
         Original Volume: (C:)\\?\Volume{010e4355-9f97-4911-99f7-4ef45974b946}\
         Shadow Copy Volume: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2
         Originating Machine: DESKTOPPC.domain.local
         Service Machine: DESKTOPPC.domain.local
         Provider: 'Microsoft Software Shadow Copy provider 1.0'
         Type: ClientAccessibleWriters
         Attributes: Persistent, Client-accessible, No auto release, Differential, Auto recovered

Contents of shadow copy set ID: {aa9f8acb-0a06-4584-9f9e-dee2269b88f3}
   Contained 1 shadow copies at creation time: 19/07/2019 3:45:20 AM
      Shadow Copy ID: {9e3044a8-19e9-4fa8-82ea-b97a836a71d2}
         Original Volume: (C:)\\?\Volume{010e4355-9f97-4911-99f7-4ef45974b946}\
         Shadow Copy Volume: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3
         Originating Machine: DESKTOPPC.domain.local
         Service Machine: DESKTOPPC.domain.local
         Provider: 'Microsoft Software Shadow Copy provider 1.0'
         Type: ClientAccessibleWriters
         Attributes: Persistent, Client-accessible, No auto release, Differential, Auto recovered

के लिए देखो शैडो कॉपी खंड क्षेत्र, और निम्न आदेश का उपयोग एक आप एक नया फ़ोल्डर की जरूरत मैप करने के लिए (इस मामले में, सूची में अंतिम):

C:\>mklink /d C:\vsstest \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3\
symbolic link created for vsstest <<===>> \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3\

सुनिश्चित करें कि आपने अनुगामी बैकलैश जोड़ दिया है जैसा कि मैंने ऊपर किया है, या यह काम नहीं करेगा।

आपकी हार्ड ड्राइव की सामग्री के पिछले संस्करण तक पहुँचने के लिए अब आपके पास अपना मैजिक फोल्डर होगा:

C:\>dir vsstest
 Volume in drive C is Local Disk
 Volume Serial Number is DEAD-BEEF

 Directory of C:\vsstest

26/06/2018  12:49 PM             1,024 .rnd
01/07/2019  01:01 PM    <DIR>          apps
20/12/2018  10:51 AM    <DIR>          ESD
29/05/2019  09:16 PM    <DIR>          inetpub
29/01/2018  12:33 PM    <DIR>          Intel
19/03/2019  02:52 PM    <DIR>          PerfLogs
04/07/2019  04:32 PM    <DIR>          Program Files
16/07/2019  12:40 PM    <DIR>          Program Files (x86)
30/05/2019  11:26 AM    <DIR>          Scripts
14/06/2019  10:46 AM    <DIR>          temp
16/10/2018  01:12 PM    <DIR>          Tools
28/05/2019  09:19 AM    <DIR>          Users
18/06/2019  09:22 AM    <DIR>          VMs
11/07/2019  03:39 AM    <DIR>          Windows
               1 File(s)          1,024 bytes
              14 Dir(s)  107,573,796,864 bytes free

आपके द्वारा किए जाने के बाद इसे निकालने के लिए, उपयोग करें rmdir

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.