Cara mengubah tanggal pembuatan (a / beberapa) file teks dan kemudian menyimpannya ketika disalin ke komputer lain

0

Saya memiliki beberapa file teks dan saya ingin mengubah tanggal pembuatan file-file ini. Saya menjalankan beberapa masalah sehingga saya sangat menghargai saran untuk kasus saya.

Pertama saya menemukan solusi ini untuk mengubah tanggal pembuatan satu file. Ini melibatkan menjalankan powershell (windows 10) dengan

 (Get-Item test2.txt).creationtime=$(Get-Date "1/2/2016 12
:34 am")

Berhasil. Jadi saya punya dua masalah. Pertama, bagaimana melakukan ini ke seribu file? Itu harus otomatis atau butuh terlalu banyak waktu.

Namun masalah kedua jauh lebih penting. Setelah saya mengubah tanggal pembuatan file ini, jika saya menyalin ini ke lokasi lain, file yang disalin memiliki tanggal pembuatannya kembali menjadi hari ini. Untuk memperburuk keadaan, saya harus menyalin 10.000 file ini (dengan tanggal kreasi mereka berubah) ke sistem windows 7 dan memiliki file-file ini dengan waktu kreasi lama ini. Tetapi jika mereka akan kembali ke hari ini dan saya tidak akan memiliki kekuatan di sana, bagaimana saya bisa menyelesaikan masalah saya?

KansaiRobot
sumber

Jawaban:

0

Semua jawaban yang Anda cari ada di file bantuan PowerShell.

# Get a list of all functions
Get-Command -CommandType Function | 
Out-GridView -PassThru -Title 'Available functions'


# Get a list of all commandlets
Get-Command -CommandType Cmdlet | 
Out-GridView -PassThru -Title 'Available cmdlets'


# Get a list of all functions for the specified name
Get-Command -Name '*ADGroup*' -CommandType Function | 
Out-GridView -PassThru -Title 'Available named functions'


# Get a list of all commandlets for the specified name
Get-Command -Name '*ADGroup**'  -CommandType Cmdlet | 
Out-GridView -PassThru -Title 'Available named cmdlet'


# get function / cmdlet details
(Get-Command -Name Get-ChildItem).Parameters
Get-help -Name Get-ChildItem -Examples
Get-help -Name Get-ChildItem -Full
Get-help -Name Get-ChildItem -Online


(Get-Command -Name ForEach).Parameters
Get-help -Name ForEach -Examples
Get-help -Name ForEach -Full
Get-help -Name ForEach -Online


(Get-Command -Name Copy-Item).Parameters
Get-help -Name Copy-Item -Examples
Get-help -Name Copy-Item -Full
Get-help -Name Copy-Item -Online


# Get parameter that accept pipeline input
Get-Help Get-ChildItem -Parameter * | 
Where-Object {$_.pipelineInput -match 'true'} | 
Select * 


Get-Help about_*
Get-Help about_Functions

Atau cukup gunakan robocopy bawaan untuk menyalin sumber ke tujuan.

robocopy <Source> <Destination> [<File>[ ...]] [<Options>]

Lihatlah opsi untuk sakelar / COPY: [copyflags] dan / DCOPY.

# As per the ROBOCOPY /? usage info:
/COPY:copyflag[s] :: what to COPY for files (default is /COPY:DAT).
                      (copyflags : D=Data, A=Attributes, T=Timestamps).
                      (S=Security=NTFS ACLs, O=Owner info, U=aUditing info).

/DCOPY:T :: COPY Directory Timestamps.


# For example:
ROBOCOPY c:\src d:\dest /MIR /COPY:DT /DCOPY:T


# Will copy all files and folders and preserve the date and time stamps.
ROBOCOPY c:\src d:\dest /MIR /COPY:DAT /DCOPY:T


Will copy all files and folders and preserve the date & time stamps and file attributes.

There is also another (and I believe deprecated?) switch /TIMFIX which does much the same as /COPY:DT but it doesn't fix the time stamps on folders.
postanote
sumber