web-dev-qa-db-ja.com

ファイルのタイムスタンプを変更する方法

可能な重複:
DLLまたはexeファイルのタイムスタンプを変更するにはどうすればよいですか?
WindowsのLinuxコマンド 'touch'と同じものですか?

コマンドラインでファイルのタイムスタンプを特定の日付に設定する方法を教えてください。

私の特定の状況はWindows 7です。

68
Joseph Hansen

William Jacksonの答え 、/、Stack Overflowで と似たような質問がありました

受け入れられた答え は、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")

編集

2つの例

(これはコメントからです:)ファイルaaa.csvの最終アクセス時刻を現在の時刻に設定します。

$(Get-Item aaa.csv).lastwritetime=$(Get-Date)

ファイルfoo.txtの作成時刻を2015年11月24日の午前6:00に設定します。

$(Get-Item foo.txt).creationtime=$(Get-Date "11/24/2015 06:00 am")
86
Joseph Hansen

この質問への回答 を参照してください

具体的には、これはネイティブで行うことができます。

copy /b filename.ext +,,

これはタイムスタンプを現在の時刻に設定します。

copyコマンドのドキュメントはTechNetにあります

コンマは、Destinationパラメーターの省略を示します。

39
William Jackson

Nirsoft で救済する:フリーウェアツール nircmd を試してください。これは、1つの小さなコマンドラインプログラムに含まれる便利なツールの集まりです。コマンドの1つでは、次のように、作成時刻修正時刻のどちらかまたは両方を指定できます。

nircmd.exe setfiletime "c:\ temp\myfile.txt" "24-06-2003 17:57:11" "22-11-2005 10:21:56"

22
boot13

Cygwinを使用して、test.txtのタイムスタンプを2000年1月31日、00:01.00に設定します。

touch -t 200001310001.00 test.txt
13
Joseph Hansen

次のWebページをチェックしてください。 http://www.stevemiller.net/apps/

Win32コンソールツールボックスには 'touch'と呼ばれるユーティリティが含まれており、これを使って1つ以上のファイルの時刻を変更できます。私はそれが米国のフォーマット時にだけうまくいくと信じています。

1
Justin Pearce