0
特定のファイルの作成日を取得するバッチ構文を作成しようとすると、日付が90日以上経過した場合、次の部分に移動します。バッチスクリプトでなければ、終了します。ファイル作成日時のバッチファイル
これまでのところ私はやって日付を取得することができます:
を%Aの中で(C:\ test.txtの)行う設定myfiledate =%〜
特定のファイルの作成日を取得するバッチ構文を作成しようとすると、日付が90日以上経過した場合、次の部分に移動します。バッチスクリプトでなければ、終了します。ファイル作成日時のバッチファイル
これまでのところ私はやって日付を取得することができます:
を%Aの中で(C:\ test.txtの)行う設定myfiledate =%〜
taのあなたはおそらく、PowerShellスクリプトを探していませんcmd.exeスクリプトで日付を計算するのは非常に面倒です。
私のディレクトリにファイルがあります。
C:>Get-ChildItem C:\Users\lit\t.txt
Directory: C:\Users\lit
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2017-08-14 15:16 0 t.txt
ここにスクリプトがあります。
C:>Get-Content .\dt2.ps1
[cmdletbinding()]
Param()
$ct = (Get-ChildItem C:\users\lit\t.txt).CreationTime
if ($_.CreationTime -gt [DateTime]::Today.AddDays(-90)) {
Write-Verbose "file is less than 90 days since creation"
return
}
Write-Verbose "file is more than 90 days since creation"
-Verbose
スイッチで実行し、出力を生成する書き込み冗長文を取得すること。
C:>.\dt2.ps1 -Verbose
VERBOSE: file is more than 90 days since creation
「検索機能」(https://stackoverflow.com/search?q=%5Bbatch-file%5D+get+yesterday+date)で「昨日の日付を取得」を使用してください。あなたは可能な解決策の多くを見つけるでしょう。ヒント:純粋なバッチで日付や時間を計算することは可能ですが、ひどいです。 – Stephan
[FORFILES](https://ss64.com/nt/forfiles.html) – Squashman
PowerShellはこれを簡単にします。 'Get-ChildItem | Get-Member'には 'LastWriteTime'プロパティがあります。 – lit