2009-02-24 8 views
9

Potrzebuję zmienić datę modyfikacji pliku w systemie Windows, aby nie zaśmiecać mojego porządku sortowania. Jak mogę to zrobić za pomocą skryptu (być może będę musiał to również zrobić w przyszłości)?Jak programowo zmienić tworzenie, modyfikowanie, dostęp do daty na pliku?

BTW: Nie chcę instalować aplikacji, aby to zrobić.

+0

Nie ma sposobu, aby to zrobić z wiersza poleceń. Jeśli chcesz napisać kod, aby to zrobić, proszę to wyrazić. – EBGreen

Odpowiedz

21

Jeśli masz PowerShell:

$(Get-Item).creationtime=$(Get-Date "mm/dd/yyyy hh:mm am/pm") 
$(Get-Item).lastaccesstime=$(Get-Date "mm/dd/yyyy hh:mm am/pm") 
$(Get-Item).lastwritetime=$(Get-Date "mm/dd/yyyy hh:mm am/pm") 
+0

Najprawdopodobniej wymagałoby to zainstalowania czegoś dla niego, ale jednak dobrej odpowiedzi. +1 – EBGreen

+2

@EbGreen Powershell jest wbudowany w Vista i Win7 i jest dostępny w firmie Microsoft. –

1

Korzystanie Java można zrobić:

File file = new File("someFile"); 
file.setLastModified(long time); 
3

Oto przykład VBScript zmieniać datę modyfikacji:

Sub ChangeModifiedDate(strFolder, strFile, dteNew) 

    Dim oShell 
    Dim objFolder 

    Set oShell = CreateObject("Shell.Application") 
    Set oFolder = oShell.NameSpace(strFolder) 
    oFolder.Items.Item(strFile).ModifyDate = dteNew 
End Sub 
+0

hmmmm .... nie działa. Czy w tym celu potrzebowałbym specjalnych uprawnień w XP? – Keng

+0

Pracowałem dla mnie. Korzystam z Windows 2008 Server i zalogowałem się z dostępem administratora. – twasbrillig

3

Korzystanie z PowerShell, polecenie będzie:

PS C:\temp> (Get-Item Notes.txt).lastwritetime=$(Get-Date "1/2/2016 12:34 am") 

PS C:\temp> (Get-Item Notes.txt).creationtime=$(Get-Date "1/2/2016 12:34 am") 

PS C:\temp> (Get-Item Notes.txt).lastaccesstime=$(Get-Date "1/2/2016 12:34 am") 

Enter image description here

Powiązane problemy