ご質問の件、拝見いたしました。
この現象は、Windowsシステムの問題ではなく、ディスクフォーマットであるNTFSの仕様に起因するものです。そのため、Windowsの設定を変更することで直接解決することはできません。
回避策として、親フォルダーの更新日時を再帰的に更新するバッチスクリプトをご提案します。このスクリプトは、指定されたフォルダー内を再帰的に巡回し、各フォルダーの更新日時を現在の時刻に更新します。以下はサンプルコードです。
@echo off
setlocal
REM 親フォルダーの日付を更新する再帰関数
:UpdateParentFolderDate
set "currentFolder=%~1"
if "%currentFolder%"=="" goto :eof
REM 現在のフォルダー内のファイルとサブフォルダーを走査
for /f "delims=" %%A in ('dir /b /ad /s "%currentFolder%" 2^>nul') do (
REM サブフォルダーを処理するために再帰的に自身を呼び出す
call :UpdateParentFolderDate "%%A"
)
REM 現在のフォルダーの更新日時を現在の時刻に更新
echo 更新中: %currentFolder%
copy /b "%currentFolder%\nul" "%currentFolder%\update_timestamp" >nul
del /q "%currentFolder%\update_timestamp" >nul
goto :eof
REM 指定されたフォルダーの更新日時を更新するために再帰関数を呼び出す
call :UpdateParentFolderDate "C:\更新したい最上位フォルダーのパス"
endlocal
ご使用になるには、C:\更新したい最上位フォルダーのパス
の部分を、実際に更新したい最上位フォルダーのパスに書き換えてください。
このスクリプトは、各フォルダー内に一時ファイルを作成し、すぐに削除することで更新日時を強制的にアップデートします。フォルダーの実際のコンテンツには影響ありません。
注意:このスクリプトを使用する前に、万が一に備えて重要なデータは必ずバックアップを取ってください。
上記の情報が、問題解決の一助となれば幸いです。