import java.io.File;
public class DirectoryDeleter {
public static void main(String[] args) {
File parentDirectory = new File("ParentDirectory"); // パスを指定してください
if (parentDirectory.exists()) {
deleteDirectory(parentDirectory);
System.out.println("すべてのサブディレクトリとファイルを削除しました");
} else {
System.out.println("指定された親ディレクトリは存在しません");
}
}
public static void deleteDirectory(File directory) {
File[] files = directory.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) {
deleteDirectory(file); // サブディレクトリを再帰的に削除
} else {
file.delete(); // ファイルを削除
}
}
}
directory.delete(); // ディレクトリを削除
}
}
import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FolderCleanup {
public static void main(String[] args) {
String parentDirectoryPath = "親ディレクトリのパスを指定";
// 今日の日付を取得
Date today = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String todayString = dateFormat.format(today);
// フォルダを取得して処理
File parentDirectory = new File(parentDirectoryPath);
if (parentDirectory.exists() && parentDirectory.isDirectory()) {
File[] subDirectories = parentDirectory.listFiles();
if (subDirectories != null) {
for (File subDirectory : subDirectories) {
// フォルダ名の日付部分を取得
String folderName = subDirectory.getName();
String folderDatePart = folderName.substring(0, 8);
// 日付を比較して削除
if (folderDatePart.compareTo(todayString) < 0) {
deleteDirectory(subDirectory);
}
}
}
}
}
// フォルダとその中身を再帰的に削除するメソッド
private static void deleteDirectory(File directory) {
if (directory.isDirectory()) {
File[] files = directory.listFiles();
if (files != null) {
for (File file : files) {
deleteDirectory(file);
}
}
}
directory.delete();
}
}