毎日、バックアップファイルを作成するプログラムがあります。複数のバックアップを保持するようにプログラムを設定する方法はありません。以前のバックアップを上書きまたは削除するだけですが、その動作は好きではありません。
そのため、スケジュールされたタスクを通じて起動されるバッチファイルを作成することを考えていましたが、私の知識はいくつかのコマンドに限定されています。
たとえば、バックアップ場所フォルダが「C:/ backup」であり、バックアップファイルに常に「skiman」という単語が含まれているとします。
次に、「skiman」という単語を含むファイルの名前をAutoBackup01.Zipに変更し、最大10個のバックアップを作成し、AutoBackup01.Zipを最新のバックアップ、AutoBackup10.Zipを最も古いバックアップとして保持し、古いバックアップを削除します。 AutoBackup10.Zipより古いバックアップ。つまり、新しいバックアップファイルがあるたびに、すべてのファイルに+1が追加されます。
ヒントやヘルプがあれば大歓迎です... PowerShellスクリプトでもうまくいくと思いますが、PowerShellについては何も知りません。
ありがとう(PS:英語の間違いがあったらごめんなさい、英語は私の母国語ではありません)。
Tetsujinがここで述べていることと同じですが、そうでない場合でも、PowerShell FileSystemWatcherを使用して、これらのバックアップがドロップされるディレクトリを監視し、ファイル名の一部として現在の日付とタイムスタンプを使用して名前を自動的に変更できます。
FileSystemWatcherの使用は、このトピックに関する完全に文書化された記事とサンプルコードがたくさんある、非常に一般的なことです。
例えば:
このスクリプトは、.net FileSystemWatcherクラスを使用して、NTFSファイルシステム内のファイルまたはフォルダーの「作成」、「変更」、および「削除」イベントをサブスクライブします。これらのイベントのトリガー時のアクション。
これを微調整して、他にやりたいことを何でもします。
だから、これをあなたに説明するのは難しいです、私の英語は限られています..。
Batファイルを使用してみてください。これにより、次のことが確認されます。
1)フォルダc:\backup
-> exist
2)ファイル*skiman*.Zip
-> exist
)ファイルAutoBackupXY.Zip
-> exist
Obs:-別の数値範囲での作業を受け入れることを検討しています:
00
to09
維持するためにAutoBackup00.Zip
最新のものとしてAutoBackup09.Zip
最も古いバックアップとして@echo off && verify ^.not 2>nul || ;color 0a && ;setlocal enabledelayedexpansion
set "_= /y /v /b " && mode 105,15 && set "_msg=*Press any key to continue^!!..."
if exist c:\Backup\nul (;cd /d "c:\Backup\." && ;title <nul && ;title ...\%~nx0)
for /f tokens^=* %%k in ('%__APPDIR__%where .:*skiman*.Zip')do set "_backs=%%~k"
if not "!_backs!"=="" (set "_target=!cd!\AutoBackup#.Zip") else (echo/Path: !cd!
echo=Drive/Folder/file skiman.Zip not found "c:\Backup" [Error^^!!] & goto :^[ )
echo/:Copy file backup:&echo/"!_backs!"^[ok^^!!]^|^Pending renaming ^[00^-^0^9^]
for /l %%i in (9 -1 1) do for /f %%I in ('set /a %%i-1')do >nul cd. & rem./ && (
if exist "!_target:#=0%%~I!" >nul copy !_!"!_target:#=0%%~I!" "!_target:#=0%%i!"
if exist "!_target:#=0%%I!" echo/"!_target:#=0%%I!" "!_target:#=0%%i!" [ok^^!!])
if exist "!_backs!" (copy !_! "!_backs!" "!_target:#=00!">nul) else (>nul cd. &(
echo/Backup file source: "!_backs!" not found: [Error^^!!] & echo/ & goto :^[ ))
:^[
echo/ & echo/%_msg% && timeout -1 >nul & <nul endlocal && exit /b 1 || goto :EOF
1st run
::Copy file backup:
"C:\Backup\2020-01-09_skiman.Zip"[ok!]|Pending renaming [00-09]
2nd run
::Copy file backup:
"C:\Backup\2020-01-09_skiman.Zip"[ok!]|Pending renaming [00-09]
"C:\Backup\AutoBackup00.Zip" "C:\Backup\AutoBackup01.Zip" [ok!]
3rd run
::Copy file backup:
"C:\Backup\2020-01-09_skiman.Zip"[ok!]|Pending renaming [00-09]
"C:\Backup\AutoBackup01.Zip" "C:\Backup\AutoBackup02.Zip" [ok!]
"C:\Backup\AutoBackup00.Zip" "C:\Backup\AutoBackup01.Zip" [ok!]
4th run
::Copy file backup:
"C:\Backup\2020-01-09_skiman.Zip"[ok!]|Pending renaming [00-09]
"C:\Backup\AutoBackup02.Zip" "C:\Backup\AutoBackup03.Zip" [ok!]
"C:\Backup\AutoBackup01.Zip" "C:\Backup\AutoBackup02.Zip" [ok!]
"C:\Backup\AutoBackup00.Zip" "C:\Backup\AutoBackup01.Zip" [ok!]
5th run
::Copy file backup:
"C:\Backup\2020-01-09_skiman.Zip"[ok!]|Pending renaming [00-09]
"C:\Backup\AutoBackup03.Zip" "C:\Backup\AutoBackup04.Zip" [ok!]
"C:\Backup\AutoBackup02.Zip" "C:\Backup\AutoBackup03.Zip" [ok!]
"C:\Backup\AutoBackup01.Zip" "C:\Backup\AutoBackup02.Zip" [ok!]
"C:\Backup\AutoBackup00.Zip" "C:\Backup\AutoBackup01.Zip" [ok!]
6th run
::Copy file backup:
"C:\Backup\2020-01-09_skiman.Zip"[ok!]|Pending renaming [00-09]
"C:\Backup\AutoBackup04.Zip" "C:\Backup\AutoBackup05.Zip" [ok!]
"C:\Backup\AutoBackup03.Zip" "C:\Backup\AutoBackup04.Zip" [ok!]
"C:\Backup\AutoBackup02.Zip" "C:\Backup\AutoBackup03.Zip" [ok!]
"C:\Backup\AutoBackup01.Zip" "C:\Backup\AutoBackup02.Zip" [ok!]
"C:\Backup\AutoBackup00.Zip" "C:\Backup\AutoBackup01.Zip" [ok!]
7th run
::Copy file backup:
"C:\Backup\2020-01-09_skiman.Zip"[ok!]|Pending renaming [00-09]
"C:\Backup\AutoBackup05.Zip" "C:\Backup\AutoBackup06.Zip" [ok!]
"C:\Backup\AutoBackup04.Zip" "C:\Backup\AutoBackup05.Zip" [ok!]
"C:\Backup\AutoBackup03.Zip" "C:\Backup\AutoBackup04.Zip" [ok!]
"C:\Backup\AutoBackup02.Zip" "C:\Backup\AutoBackup03.Zip" [ok!]
"C:\Backup\AutoBackup01.Zip" "C:\Backup\AutoBackup02.Zip" [ok!]
"C:\Backup\AutoBackup00.Zip" "C:\Backup\AutoBackup01.Zip" [ok!]
8th run
::Copy file backup:
"C:\Backup\2020-01-09_skiman.Zip"[ok!]|Pending renaming [00-09]
"C:\Backup\AutoBackup06.Zip" "C:\Backup\AutoBackup07.Zip" [ok!]
"C:\Backup\AutoBackup05.Zip" "C:\Backup\AutoBackup06.Zip" [ok!]
"C:\Backup\AutoBackup04.Zip" "C:\Backup\AutoBackup05.Zip" [ok!]
"C:\Backup\AutoBackup03.Zip" "C:\Backup\AutoBackup04.Zip" [ok!]
"C:\Backup\AutoBackup02.Zip" "C:\Backup\AutoBackup03.Zip" [ok!]
"C:\Backup\AutoBackup01.Zip" "C:\Backup\AutoBackup02.Zip" [ok!]
"C:\Backup\AutoBackup00.Zip" "C:\Backup\AutoBackup01.Zip" [ok!]
9th run
::Copy file backup:
"C:\Backup\2020-01-09_skiman.Zip"[ok!]|Pending renaming [00-09]
"C:\Backup\AutoBackup07.Zip" "C:\Backup\AutoBackup08.Zip" [ok!]
"C:\Backup\AutoBackup06.Zip" "C:\Backup\AutoBackup07.Zip" [ok!]
"C:\Backup\AutoBackup05.Zip" "C:\Backup\AutoBackup06.Zip" [ok!]
"C:\Backup\AutoBackup04.Zip" "C:\Backup\AutoBackup05.Zip" [ok!]
"C:\Backup\AutoBackup03.Zip" "C:\Backup\AutoBackup04.Zip" [ok!]
"C:\Backup\AutoBackup02.Zip" "C:\Backup\AutoBackup03.Zip" [ok!]
"C:\Backup\AutoBackup01.Zip" "C:\Backup\AutoBackup02.Zip" [ok!]
"C:\Backup\AutoBackup00.Zip" "C:\Backup\AutoBackup01.Zip" [ok!]
10th run
::Copy file backup:
"C:\Backup\2020-01-09_skiman.Zip"[ok!]|Pending renaming [00-09]
"C:\Backup\AutoBackup08.Zip" "C:\Backup\AutoBackup09.Zip" [ok!]
"C:\Backup\AutoBackup07.Zip" "C:\Backup\AutoBackup08.Zip" [ok!]
"C:\Backup\AutoBackup06.Zip" "C:\Backup\AutoBackup07.Zip" [ok!]
"C:\Backup\AutoBackup05.Zip" "C:\Backup\AutoBackup06.Zip" [ok!]
"C:\Backup\AutoBackup04.Zip" "C:\Backup\AutoBackup05.Zip" [ok!]
"C:\Backup\AutoBackup03.Zip" "C:\Backup\AutoBackup04.Zip" [ok!]
"C:\Backup\AutoBackup02.Zip" "C:\Backup\AutoBackup03.Zip" [ok!]
"C:\Backup\AutoBackup01.Zip" "C:\Backup\AutoBackup02.Zip" [ok!]
"C:\Backup\AutoBackup00.Zip" "C:\Backup\AutoBackup01.Zip" [ok!]
Nth run
:==same
:出力10th run:
:Copy file backup:
"C:\Backup\2020-01-09_skiman.Zip"[ok!]|Pending renaming [00-09]
"C:\Backup\AutoBackup08.Zip" "C:\Backup\AutoBackup09.Zip" [ok!]
"C:\Backup\AutoBackup07.Zip" "C:\Backup\AutoBackup08.Zip" [ok!]
"C:\Backup\AutoBackup06.Zip" "C:\Backup\AutoBackup07.Zip" [ok!]
"C:\Backup\AutoBackup05.Zip" "C:\Backup\AutoBackup06.Zip" [ok!]
"C:\Backup\AutoBackup04.Zip" "C:\Backup\AutoBackup05.Zip" [ok!]
"C:\Backup\AutoBackup03.Zip" "C:\Backup\AutoBackup04.Zip" [ok!]
"C:\Backup\AutoBackup02.Zip" "C:\Backup\AutoBackup03.Zip" [ok!]
"C:\Backup\AutoBackup01.Zip" "C:\Backup\AutoBackup02.Zip" [ok!]
"C:\Backup\AutoBackup00.Zip" "C:\Backup\AutoBackup01.Zip" [ok!]