3ヶ月前のフォルダを自動で毎月削除したいと考えています。
現在、毎月フォルダが作成されるようにバッチファイルを作成しましたが、今度は3ヶ月経ったフォルダは削除したいと考えています。
たとえば、8月1日に5月のフォルダを削除というようにです。
2008年5月のフォルダ名:200805
2008年6月のフォルダ名:200806
2008年7月のフォルダ名:200807
2008年8月のフォルダ名:200808
毎月フォルダが作成されます。
9月に200809のフォルダを作成し、
200805のフォルダを削除したいです。
200809のフォルダ作成はできましたが、
200805のフォルダを削除するバッチファイルを作成できません。
どうすればいいのでしょうか。
よろしくお願いします。
No.6ベストアンサー
- 回答日時:
すみません、途中のものを上げていました。
こっちが完成版です。--------------------------------------------------------
set yy=%date:~0,4%
set mm=%date:~5,2%
rem 1月~9月の場合、先頭の0を除去する
if %mm% LSS 10 set mm=%mm:~1,1%
rem 3ヶ月前の日付を計算する
set /a mm=%mm%-3
set mm=00%mm%
set mm=%mm:~-2%
rem 計算の結果00以下になった場合は前年の10月~12月にする
if %mm%==00 (set mm=12 && set /a yy=%yy%-1)
if %mm%==-1 (set mm=11 && set /a yy=%yy%-1)
if %mm%==-2 (set mm=10 && set /a yy=%yy%-1)
echo 3ヶ月前は、%yy%年%mm%月です。
pause
No.5
- 回答日時:
以下が答えです。
ポイントは5行目。私もサンプルを実際に動かしてみて分かったのですが、サンプルにはバグがあり、ddの値が01~09となる場合は先頭の0を除去する処理が必要です。
--------------------------------------------------------
set yy=%date:~0,4%
set mm=%date:~5,2%
rem 01月~09月の場合、先頭の0を除去する
if %mm% LSS 10 set mm=%mm:~1,1%
rem 3ヶ月前の日付を計算する
set /a mm=%mm%-3
set mm=00%mm%
set mm=%mm:~-2%
rem 計算の結果00月になった場合は前年の12月にする
if %mm%==00 (set mm=12 && set /a yy=%yy%-1)
echo 3ヶ月前は、%yy%年%mm%月です。
pause
No.4
- 回答日時:
#3のtypo訂正
×rm
○rdまたはrmdir
最近Linuxを使うことが多くなってつい癖でrmとしてしまいました。
No.1
- 回答日時:
「できない」だけじゃ何でつまづいていているのか分かりません。
4ヶ月前の日付の取得方法が分からないと推測して回答すると、下記の「1日前の計算」の部分を応用すればいいでしょう。
http://www.atmarkit.co.jp/fwin2k/win2ktips/419ba …
そのURLのサイトは参考にしていたのですが、
「1日前の計算」の部分を応用ができませんでした。
3ヶ月前に変更するにはどうしたらいいのでしょうか。
単純に
%date:~5,2%-3
としても、
200808-3
のようになってしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Gmail 秀丸メール、2台のPCにセットしてあります。gmailのついて質問です。 1 2022/07/25 08:01
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 10:35
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/07 08:37
- MySQL XamppでインストールしたMySQLのフォルダのWinRARでのバックアップについて 1 2022/06/22 18:55
- サーバー windowsサーバの権限設定、フォルダ削除できないアカウントを作りたい 1 2023/04/07 09:58
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル名と同名のフォルダを...
-
Excel VBA で フォルダ名の一部...
-
【マクロ】ファイル名の日付に...
-
集めたシートのシート名を変更...
-
Windows10でコマンドプロンプト...
-
VBSでファイル名と同じフォルダ...
-
デスクトップの画像をhtmlに表...
-
ファイル名から該当フォルダへ移動
-
VBA フォルダ名に特定の文字を...
-
VBA フォルダ名と画像ファイル...
-
VBA 最新のフォルダ取得
-
AIX findコマンド
-
バッチファイル フォルダ存在...
-
保存先のフォルダ名を指定した...
-
vbsで選択ダイアログを表示した...
-
GetPrivateProfileString関数
-
Dreamweaver作成時の画面表示
-
エクセル VBAについて教えてく...
-
META-INFフォルダの置き場所に...
-
VB.NRT FolderBrowserDialogを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
ファイル名と同名のフォルダを...
-
VBA 最新のフォルダ取得
-
【マクロ】ファイル名の日付に...
-
windowsでテキストファイルの各...
-
デスクトップの画像をhtmlに表...
-
Access VBA で フォルダ権限...
-
フォルダ内のPDFファイル名を変...
-
パス名に2バイト文字(マルチバ...
-
多量のファイルをフォルダに自...
-
Excelで指定したフォルダに保存...
-
会社のネットワーク上のファイ...
-
ディレクトリ名変更してコピー...
-
VBA フォルダ名に特定の文字を...
-
エクセルマクロで指定フォルダ...
-
保存先のフォルダ名を指定した...
-
あるフォルダの中にあるファイ...
-
Excel VBA で フォルダ名の一部...
-
エクセルのマクロについて教え...
-
ExcelのVBAでフォルダ指定がで...
おすすめ情報