Wie kann ich programmgesteuert frühere Versionen eines Ordners suchen und öffnen (mithilfe von PowerShell, WMI usw.)?
11140
Vladimir Reshetnikov
Ich verwende Windows 8 Enterprise x64. Wenn ich \\localhost\c$als Netzwerkordner öffne und dann über ein Kontextmenü das Eigenschaftenfenster eines Unterordners öffne (z. B. \\localhost\c$\Deploywie im Beispiel unten), befindet sich die Registerkarte Vorherige Versionen, in der eine Liste der verfügbaren früheren Versionen des Ordners angezeigt wird. zusammen mit entsprechenden Zeitstempeln:
Wenn ich eine Version auswähle und auf die Schaltfläche " Öffnen" klicke, wird ein neues Explorer-Fenster geöffnet, in dem ich die ausgewählte vorherige Version des Ordners durchsuchen kann:
In der Adressleiste wird ein Ort angezeigt, an dem ein Zeitstempel (in einer langen, vom Menschen lesbaren Form) an jeden Ordnernamen angehängt wird. Wenn diese Position von dort kopiert wird, kann sie nicht direkt als gültiger Pfad in einem anderen Explorer-Fenster oder als Befehlszeilenprogramm verwendet werden. Wenn ich jedoch das Eigenschaftenfenster eines Subfloders öffne, wird in einem Formular eine Position des Unterordners angezeigt \\localhost\c$\@GMT-2013.08.27-04.01.18\Deploy. Dieses Formular kann sowohl im Explorer als auch in der Befehlszeile verwendet werden:
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
Und auch in 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
Es sieht so aus, als würde sich der Ordner mit einem magischen Namen @GMT-2013.08.27-04.01.18(der vermutlich einen Zeitstempel in der GMT-Zeitzone darstellt) so verhalten, als ob er dort tatsächlich beendet wurde. Sie können jedoch nicht dessen Existenz mit dem dirBefehl feststellen, wenn Sie dessen Namen nicht bereits kennen. Alle Dateien und Ordner unter diesem Ordner sind schreibgeschützt. Dort können keine Dateien erstellt, gelöscht, umbenannt oder geändert werden (einschließlich Datei- / Ordnerattribute und Berechtigungen). Wenn Sie ein Administrator sind, aber keine Berechtigung zum Anzeigen bestimmter Dateien haben, können Sie dies nicht ändern, es sei denn, Sie erstellen zuerst einen übergeordneten Ordner an einen nicht lesbaren Speicherort.
Frage: Ist es möglich, die Liste der Versionen eines bestimmten Ordners (z. B. des ersten Screenshots) abzurufen und eine davon in einem neuen Explorer-Fenster programmgesteuert zu öffnen (mithilfe von PowerShell, WMI, WSH, BAT, Win32-API usw.) ) Ist es möglich, die Liste der entsprechenden Ordner mit magischen Namen wie @GMT-2013.08.27-04.01.18 programmgesteuert abzurufen?
1 Antwort auf die Frage
12
harrymc
Mit dem volrestDienstprogramm, das in den Windows Server 2003 Resource Kit-Tools verfügbar ist, können Sie die vorherigen Versionen eines Ordners auflisten. Es hat für mich unter Windows 7 funktioniert und sollte immer noch unter Windows 8 funktionieren. Seien Sie nur vorsichtig mit Ihren Parametern, da es auch vorherige Versionen wiederherstellen kann.
Ein Anwendungsbeispiel (aus dem unten angegebenen Link):
Mit der Ausgabe dieses Programms, die möglicherweise zusammen mit dem /BParameter für das bloße Format verwendet wird, sollten Sie in der Lage sein, ein Skript zu erstellen, das eine der aufgelisteten Versionen untersucht.