質問

私が知りたい:

を削除したい'log.txt'場合、または最後の変更ませんでした。

るバッチファイルです。

私だけをここに約1ファイル!

役に立ちましたか?

解決

あなたが使用することができます forfilesするます:

forfiles /D -1 /M log.txt /C "cmd /c del @file"

他のヒント

PowerShellはバッチを交換する必要があります。

タグ
if ((dir log.txt).LastWriteTime -lt [datetime]::today) { del log.txt }

残念ながら、あなたは、堅牢かつ一般的な方法(*)でこれを行うことはできません。

のPowershell、Cygwinのあなたは、彼らがターゲットマシン上にインストールされます確認することができた場合、Unixのツールは完璧なソリューションです。

私は、ワイルドカードと日数とのパスを受け取り、指定した日数より古いパスに一致するすべてのファイルを削除します小さなユーティリティプログラムを書きました。私の環境では、これはサードパーティのパッケージをインストールするよりも便利でした。

(*) あなたの特定のケース(更新日時ない今日)限り、あなたの地域の設定で短い日付形式のために働くだろう次は(すなわち、10文字の長さ)世紀を含んでいます。しかし、それはN日間一般化しない、と私はこの種のもののために、コンピュータの地域設定に頼ら好きではありません。

for %%i in (log.txt) do SET FILETIME=%%~ti
IF NOT "%FILETIME:~0,10%" == "%DATE%" DEL /f log.txt

バッチするもの簡単な非常に複雑です。使いいただけるのであればCygwinをインストールUnixツール、というようになります:

find log.txt -mtime +1 -exec rm {} \;

更新
見るものが ご利用の純粋です。対応することができるでしょうを変更すると適応のニーズに

何の価値について、あなたは、JScriptのまたはVBScriptのいずれかを使用することができます。これらのスクリプト言語の両方が、90年代半ば以降MSプラットフォームにインストールされています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top