Lionでファイルの作成日を変更する方法を教えてください。 touch-tコマンドがあることはわかりましたが、Lionでは機能しません。何人かの人々が別の方法について言及しましたが、彼らは「素人言語ではなく「コーダー」言語でソリューションを書いたと思います。誰かが素人が実行できる方法でそれに答えることができるでしょうか?
ご協力いただきありがとうございます。
コメント
- "コーダー"他の人が書いた説明は、おそらく" touch "への参照です。あなた' dはターミナルを開き、ファイルが置かれているフォルダに移動し、touchコマンドを使用してファイルの作成日を変更する必要があります'。
- FWIW " touch-t "で正しい行にいますが、hと-の間にスペースがあります。 ' s " touch -t "
回答
touch -t
は通常、変更時間とアクセス時間のみを変更します。目標時間が元の作成時間より前の場合にのみ、作成時間を変更します。
touch -t 199912312359 file.txt touch -t $(date -jf %FT%T 1999-12-31T23:59:59 +%Y%m%d%H%M%S) file.txt
SetFile -d
は常に変更されます作成時間。
SetFile -d "12/31/1999 23:59:59" file.txt SetFile -d "$(GetFileInfo -m test.txt)" file.txt
SetFileは、開発者からダウンロードできるコマンドラインツールパッケージの一部です。 .apple.com / downloads またはXcodeの設定から。
コメント
- -mは変更時間を変更します。
- Yosemiteでは、タッチで
+%Y%m%d%H%M.%S
の形式を使用する必要がありました(分と秒の間のドットに注意してください) - ividという関数を作成しました
fish
の= “72ac3a5f83″>
:SetFile -d (GetFileInfo -m $argv[1]) $argv[2]
回答
Mac OS Xでは、ファイルに4つの異なるタイムスタンプが関連付けられているようです。これらのタイムスタンプは常に互いに独立して更新されるわけではありませんが、個別に更新することはできます少し注意を払い、touch
、SetFile
、およびchown
を使用した通常の制御(またはchmod
)。これを確認するには、コマンドプロンプト#
から新しいファイルを試して作成してみましょう。
# touch a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "May 19 00:11:14 2015" "May 19 00:11:14 2015" "May 19 00:11:14 2015" "May 19 00:11:14 2015" 4096 0 0 a.txt
リストされている最初の日付は最終アクセス時刻(atime
)、2番目は最終変更時刻(mtime
)、3番目は最終ステータス変更(mtime
)です。 ctime
)、4番目はファイル作成時(誕生、Btime
)、man lstat
。
アクセス時間(atime
)を指定した時間に変更するには、次を使用します。
# touch -a -t201412312359.59 a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "May 19 00:11:14 2015" "May 19 00:11:46 2015" "May 19 00:11:14 2015" 4096 0 0 a.txt
変更時刻(mtime
)およびファイル作成時刻(Btime
)を指定した時刻に変更するには使用:
# touch -m -t201312312359.59 a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:12:19 2015" "Dec 31 23:59:59 2013" 4096 0 0 a.txt
これにより、最後のステータス変更時刻(ctime
)も自動的に更新されます。現在のシステム時刻!
作成/誕生の時刻(Btime
)のみを特定の時刻に変更するには、(prとして)を使用します。上記の他の人によって反対された):
# SetFile -d "12/31/1999 23:59:59" a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:12:19 2015" "Dec 31 23:59:59 1999" 4096 0 0 a.txt
最後のステータス変更(ctime
)の時間のみをに変更するには現在のシステム時刻の使用例:
# chown username a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:13:45 2015" "Dec 31 23:59:59 1999" 4096 0 0 a.txt
ここで、username
はファイルの所有者です(stat
またはls -l
)。これはファイルの所有権を変更しませんが、ファイルのiノードにアクセスし、これを最後のステータス変更の時刻として記録します。残念ながら、コンピュータの時刻を変更する以外に、ここで時刻を明示的に指定することはできません…
要約すると、4つのタイムスタンプを個別に変更できるようにするには、(この中で最後の3)の順序:
-
touch -a -tCCYYMMDDHH.SS <file>
-
touch -m -tCCYYMMDDHH.SS <file>
-
SetFile -d "MM/DD/CCYY HH:MM:SS" <file>
- [システム日付の設定]
chown username <file>
[通常のシステム日付に戻す]
(もちろん、システム日付のリセットはリスクのない操作ではない可能性があります。警告されています。)
コメント
- +1この非常に詳細な回答をありがとうございます。これですべての問題が解決しました。
- GoProが自動的にリセットされるため、日付が間違った写真になってしまうことがあります。これらの写真をMacに転送し、これらの手順に従って日付を修正しますが、これらの写真をiPhoneに転送すると、日付が間違っています。 'で修正できる唯一の方法は、iOSEXIFエディターを使用することです。どこかにさらに別の隠された日付属性がありますか?
- @Bowen:写真で参照する日付は、写真ファイル形式自体のデータの一部です。上記のファイルの作成日、変更日などは、オペレーティングシステムのファイルシステムによって管理されているものであり、ファイルに含まれるデータとは別に維持および更新されます。
回答
コマンドラインのtouch
コマンドはLionで機能しますが、その方法について少し背景が必要です。使用してください。
まず、入力する必要があります。ウィンドウでグラフィカルに動作するユーティリティではありません。入力する場所は、 Terminal というアプリです。 。これはUtilitiesフォルダにあるか、Spotlight検索を使用して見つけることができます。
起動すると、コマンドを入力できるコマンドラインウィンドウが表示されます。入力しているからといって、そうはなりません。」つまり、コーディングとは関係がありますが、「昔ながらの」OSコマンドを初めて使用する人にとっては、少し威圧的に見える可能性があります。
したがって、このコマンドは touch と呼ばれます。コマンドの後に、必要なパラメータを1つだけ渡すことができます。ファイル名です。次のように入力すると、ファイルの最終変更日が現在の時刻に設定されます。
touch filename
もちろん、最初にファイルを見つける必要がある場合があります。それに到達するには、さらにコマンドが必要です。 cd またはディレクトリの変更コマンドはここで役立ちます:
cd ~/Desktop/files/PDFs touch filename
または、単に完全なものを追加することもできますコマンドの一部としてのファイルへのパス:
touch ~/Desktop/files/PDFs/filename
touchコマンドのより高度な使用法では、使用するのではなく、設定する時間を指定できます。実行時、変更時間の代わりにアクセスを設定するなど。これは、 -t などのパラメータが行うことです。時間を別のファイルの時間に設定するものもあれば、X量だけ時間的に前後に移動するように設定するものもあります(詳細については、ここを参照)。例:
touch -d "1 May 2005 10:22" file8
以下は、このページのです。便利なリファレンスと、コマンドラインでのファイルの場所に不安がある人のためのヒントを含む優れた例
これにより、ファイルが作成された後にのみ、変更日と作成日の両方の属性が変更されることに注意してください。入力した日付。これは、ファイルが作成される前に変更できないためです。設定した日付より前に作成された場合、変更された日付のみが変更されます。
ファイルの作成日属性を変更するにはどうすればよいですか?
ターミナルアプリケーション(
/Applications/Utilities/Terminal.app
)を開くか、iTermを使用する場合はタイプこれをターミナルに(Enter / Returnキーを押さずに)
YYYYMMDDhhmm
の形式で日付を挿入します:touch -t 201212211111
Finderウィンドウを開き、変更するファイルを見つけて、ターミナルウィンドウにドラッグアンドドロップすると、コマンドラインの用語を使用してファイルの場所が挿入されます。この時点でターミナルに入力する必要があるものの例を次に示します。
touch -t 201212211111 /Volumes/Mac\ HD/Pictures/somefile.jpg
上記の例の201212211111は、「2012年12月21日11:11 AM
コメント
- ただし、
touch
は、ファイルの作成日ではなく、変更日を変更します。 - 両方を実行できます。パラメータによって異なります。
-
touch
を上記のパラメータで使用すると、変更が変更されましたが、テストファイルの作成日は変更されませんでした。 - @Danielおそらくあなたはあなたの答えを得ました、しかし完全を期すために
touch
は 引数に応じて作成日を変更します。ファイル'の作成日より前の変更日を指定すると、ファイルは作成前に変更できないため、作成日は自動的に新しい変更日の値に変更されます。 。 - Sierraでこれを試したところ、タッチしても
creation
の日付は変更されません。access
とmodified
の日付を過去に"の日付に変更できました"ですが、作成日は変更されませんでした。マニュアルページでタッチを確認してください。作成日は記載されていません。ファイルシステム:Mac OS拡張(ジャーナリング、暗号化)。SetFile -d "$(GetFileInfo -m test.txt)" file.txt
の使用は完全に機能しました。
回答
ここでのすばらしいヒント、特に最後のもの(Lauri Rantaから、8月21日15:21に回答)。 Perfekt!
現在、単純なAutomatorワークフローを使用して複数のファイルをバッチ変更しています。
- 選択したFinderアイテムを取得する
- シェルスクリプトを実行し、「入力を渡す:引数として “
シェルスクリプトは次のとおりです。
for f in "$@" do SetFile -d "$(GetFileInfo -m "$f")" "$f" done
これは魅力のように機能します。
回答
私が見つけた最も簡単な方法は、新しいフォルダーを作成し、グレー表示されたフォルダーのすべてのサブフォルダーをコピーすることでした。 新しいフォルダに、そして出来上がり、新しいフォルダはグレー表示されません。 ファインダーでこれを行うこともできます。