2016-09-21 9 views
0

"マイドキュメント"内のすべてのファイルとディレクトリの最終変更タイムスタンプを変更したいと考えています。その理由は、使用しているサーバーで3か月以上経過したすべての文書が削除されるためです。これは、長い時間が経過した後で私が頻繁に必要とするので、私の書類を保管するのは単なる手腕です。バッチファイルを使用して、すべてのファイルとサブディレクトリのタイムスタンプ(最終更新日時)を変更する方法

以下のコードで私がこれまで管理してきたことは、サブディレクトリを含むすべてのファイルのタイムスタンプ "最終変更日時"を変更することです。ただし、サブディレクトリ自体のタイムスタンプは変更されません。

@echo off 
for /f "delims=" %%a in ('dir /ad /b /s') do (
pushd "%%a" 
copy /B /Y *.*+,, 
popd 
) 

私は君たちが私は次のコードでそれを解決した

+1

それを削除しました。親ディレクトリの最終変更日を変更する必要があります。 – aschipfl

+1

これを行う方法がありますが、あなたが見つけられると確信しています。私はあなたが3ヶ月より古いファイルが削除される理由を考えるべきだと思います。これは、組織の法的ポリシーである可能性があります。それが組織の保持ポリシーであれば、おそらく準拠する必要があります。これを回避することは法的な結果をもたらす可能性があります。 – lit

+0

@リトガイスト私は私の上司(CEO)に尋ねました。従業員が個人用ファイルを「マイドキュメント」に保存しないようにするために導入されました。 私はそこに個人的なファイルを保存することに興味はありませんが、むしろ私の会議メモなどを格納することができるだろう – Thundereagle

答えて

0

を助けることを願って ...いくつかの研究の後のコードのこの部分を得たが、完全にそれを理解していません。 @aschipflが示唆したように、私は、ランダムなファイルを作成し、その直後に、一時的なランダムなファイルを作成し、その後すぐにそれを削除し、その後

@echo off 
copy /B /Y *.*+,, >nul 
echo. > randomfile.txt 
if exist randomfile.txt del randomfile.txt /Q 
for /f "delims=" %%a in ('dir /ad /b /s') do (
pushd "%%a" 
copy /B /Y *.*+,, >nul 
echo. > randomfile.txt 
if exist randomfile.txt del randomfile.txt /Q 
popd 
) 
cls 
echo All files and folders updated %date% %time% 
pause 
関連する問題