バッチ スクリプトを完了する必要があります。パスは C:\Users\Mahmo03S\Shaban です。そのパスには、いくつかのサブフォルダーがあります。アンシス。サブフォルダーAnsysには、さらに多くのサブフォルダーがあります=フォルダーツリーです。フォルダーとサブフォルダー内のすべてのファイルが 3 日より古い場合、バッチ スクリプトは Ansys フォルダーを削除する必要があります。過去 3 日間に Ansyn のファイルが 1 つだけ変更された場合、Ansys では何も起こらないはずです。私は確かな解決策を作ろうとしましたが、サブサブフォルダー内のファイルは3日間変更されていないため、バッチファイルはAnsysディレクトリ内のサブサブフォルダーを削除します。
タスクを実行する3つのバッチファイルを取得しました。
Script.bat
@echo off
setlocal enableextensions
pushd C:\Users\Mahmo03S\Desktop\Shaban
set /p check="Select a date:"
Rem When prompted with above line type the date 3 days ago.
forfiles /c "cmd /c (IF @isdir==TRUE call C:\Users\Mahmo03S\Desktop\Search.bat "@path" "%check%")"
popd
検索.bat
set del=TRUE
forfiles /p %1 /d -%2 /s /m * /c "cmd /c (IF @isdir ==TRUE call C:\Users\Mahmo03S\Desktop\DeleteFolders.bat "@path" "%check%" "%del%")"
DeleteFolders.bat
set del=FALSE
if %del%==FALSE (rmdir /S /Q %1)
問題は、Ansys フォルダーにサブサブフォルダー (hello など) を取得したことです。hello フォルダーでは、すべてのファイルが 3 日以上経過しています。このスクリプトは、実行すべきではない hello フォルダーを削除します。フォルダー内のすべてのファイルが 3 日以上経過している場合にのみ、Ansys を削除する必要があります。過去 3 日間に Ansys フォルダーで 1 つのファイルのみが変更された場合、Ansys フォルダー内のファイルは削除されません。
すべてのファイルが 3 日以上経過すると Ansys フォルダーが削除されるように、バッチ ファイルを作成しました。ただし、サブサブフォルダー内のファイルが 3 日より古いという理由だけでサブサブフォルダーを削除するべきではありません。
どうやってやるの?