2017-11-21 4 views
-1

このコードですべての削除されたファイルのログ.txtファイルを保存するにはどうすればよいですか?どのようにログファイルを作成できますか?

また、ルートディレクトリのサブフォルダ内のすべてのバックアップフォルダを検索するコードを変更する必要があります。

@echo off 
setlocal EnableExtensions EnableDelayedExpansion 
set "BackupFolder=D:\backup" 
set "LastDate=" 
for /F "delims=." %%I in ('dir "%BackupFolder%\????????.*" /AD /B /ON 2^>nul') do (
    if not "!LastDate!" == "%%I" (
     for /F "skip=2 delims=" %%D in ('dir "%BackupFolder%\%%I.*" /AD /B /O-D-N /TC') do rd /Q /S "%BackupFolder%\%%D" 
     set "LastDate=%%I" 
    ) 
) 
endlocal 

このコードはHow to remove oldest folder(s) of a group of folders in a folder with several folder groups?Mofiによって書かれたとの回答として投稿された彼はまた、削除前のファイルをログに記録する機能強化版を掲載、それが正常に私のために働いていませんでした。

以下のコマンドを試してみましたが、log.txtファイルは生成されていません。

答えて

1

>>を使用する試みは質問に表示されませんでした。どのように何かのように:

@echo off 
setlocal EnableExtensions EnableDelayedExpansion 
set "BackupFolder=D:\backup" 
set "LastDate=" 
SET "LOGFILE=%TEMP%\%~n0.log" 
for /F "delims=." %%I in ('dir "%BackupFolder%\????????.*" /AD /B /ON 2^>nul') do (
    if not "!LastDate!" == "%%I" (
     for /F "skip=2 delims=" %%D in ('dir "%BackupFolder%\%%I.*" /AD /B /O-D-N /TC') do (
      DIR /S /B "%BackupFolder%\%%D" >>"%LOGFILE%" 
      rd /Q /S "%BackupFolder%\%%D" 
      set "LastDate=%%I" 
     ) 
    ) 
) 
endlocal 
+0

もう一度ありがとう。このコードは、mofiのコードと同じように動作します。 diffrenceは、このコードは私のニーズに合わせてより使いやすいと私はいくつかの組み合わせを行うことです。空のフォルダでテストした結果、何の結果も得られなかったので、私はmofiのコードで間違っています。私は、削除されたフォルダを表示するために再設定する必要があります。おかげで多くの人はあなたが私をたくさん助けました。 – sn00p

+0

@ sn00p削除された__files__をログに記録するように頼んだら、次のコマンドラインで削除される__files__をログファイルに記録するためにバッチコードを書いた理由を本当に知ってはいけません。私はログファイルに「DeletedFiles.log」という名前を付けました。削除された__directories/folders__(削除されたフォルダまたはすべてのフォルダが再帰的)をログに記録するように要求した場合、削除されたフォルダを記録するコードを記述していたでしょう。将来については、あなたが求めていることに注意してください。 – Mofi

関連する問題