[Organiser les photos] [java] [windows] Déplacez les photos sélectionnées vers un dossier en 2 clics

Trie les photos référencées dans la visionneuse de photos dans les dossiers ★★★.

Le tri des fichiers photo prend du temps et des efforts. C'est Korejanai qui oublie le numéro ou tente de l'imprimer en le sélectionnant. Ou regarder des photos inutiles. Je veux voir uniquement les fichiers dont j'ai besoin! De plus, j'ai fait quelque chose comme ça pour ma propre commodité parce que je voulais le régler facilement.

Lorsque vous démarrez ceci (★★★ .EXE) à partir de la visionneuse de photos, il créera ★★★ sur le dossier actuel et le déplacera vers ★★★.

Par exemple

Supposons que vous ayez des fichiers de 001.JPG à 005.JPG avec cette structure de dossiers.

CANON001/ └ jpg   ├ 001.jpg   ├ 002.jpg   ├ 003.jpg   ├ 004.jpg   ├ 005.jpg

Dans cet état, si vous démarrez ★★★ en sélectionnant 003.jpg dans la visionneuse de photos, un dossier ★★★ sera créé dans la même ligne que JPG comme indiqué ci-dessous et 003.jpg sera déplacé.

CANON001/ └ jpg   ├ 001.jpg   ├ 002.jpg   ├ 004.jpg   ├ 005.jpg ├ ★★★   ├ 003.jpg

En raison des caractéristiques de la visionneuse de photos, le fichier déplacé répétera les photos et les images du dossier que vous visualisez, de sorte que vous ne pouvez pas voir le fichier déplacé à moins que vous ne changiez le dossier que vous visualisez.

En d'autres termes, après le déplacement, la visionneuse de photos ne fait référence qu'aux fichiers suivants.

└ jpg   ├ 001.jpg   ├ 002.jpg   ├ 004.jpg   ├ 005.jpg

Si vous regardez les images du dossier ★★★ après le déplacement, vous ne pouvez voir que les fichiers suivants.

├ ★★★   ├ 003.jpg

Certaines préparations (environnement où JAVA peut être exécuté, relance de la visionneuse de photos) sont nécessaires, mais il est très facile de trier les photos en seulement 2 clics (1. Ouvrir → 2. ★★★).

20.jpg

Le traitement Exe est effectué par launch4j etc. http://launch4j.sourceforge.net/

Reportez-vous à cette zone pour activer la visionneuse de photos. La modification du registre est simple et rapide. https://popozure.info/20190823/14633

Télécharger le fichier exécutable

Je suis sûr que vous ne voulez que le fichier exécutable Vous pouvez obtenir le fichier exécutable en le téléchargeant à partir d'ici. https://drive.google.com/open?id=1dKcispHr8_D81kaPRgID7oKf27bEMfvS

Au cas où, je publierai également la source

starSelector.java


import java.io.*;
import java.util.logging.*;
public class starSelector {
  public static final String LOGFILE = "StarSelector.log";
  public static void main(String[] args) {
    try {
      final Logger logger = Logger.getLogger("starSelector");
      try {
        //Spécifiez le fichier de sortie
        FileHandler fh = new FileHandler("starSelector.log", true);
        //Spécifiez le format de sortie
        fh.setFormatter(new java.util.logging.SimpleFormatter());
        logger.addHandler(fh);
      } catch (IOException e) {
        e.printStackTrace();
      }
      File file = new File(args[0]);
      File parentDir = new File(file.getParent());
      //System.out.println("Nom du répertoire parent du parent: " + parentDir.getParent());
      String strParentDir = file.getParent();
      String strFileName = file.getPath();
      String strStarDir = "★★★";
      File moveNewFolder = new File(parentDir.getParent() + "\\" + strStarDir);
      //Vérifier le fichier de lecture
      if (!file.exists() || !file.canRead()) {
        logger.log(Level.WARNING, "Le fichier spécifié n'existe pas");
        return;
      }
      if (file.getParent() == null) {
        logger.log(Level.INFO, "Le fichier du répertoire de base est spécifié. Impossible de spécifier le répertoire parent");
        return;
      }
      //Contrôle de la direction
      if (parentDir.getParent() == null) {
        logger.log(Level.INFO, "Le fichier du répertoire de base est spécifié. Impossible de spécifier le dossier de destination");
        return;
      }
      moveNewFolder.mkdir();
      //Déplacer des fichiers
      File file2 = new File(parentDir.getParent() + "\\" + strStarDir + "\\" + file.getName());
      try {
        if (file.renameTo(file2)) {} else {
          logger.log(Level.WARNING, "Échec du déplacement du fichier");
        }
      } catch (SecurityException e) {
        logger.log(Level.WARNING, e.toString());
      } catch (NullPointerException e) {
        logger.log(Level.WARNING, e.toString());
      }
    } catch (ArrayIndexOutOfBoundsException err) {
      System.out.println("Comment utiliser: java starSelector <Fichiers à déplacer>");
      return;
    }
  }
}

Recommended Posts

[Organiser les photos] [java] [windows] Déplacez les photos sélectionnées vers un dossier en 2 clics
Programme Java pour redimensionner une photo dans un carré avec des marges
[Windows] [IntelliJ] [Java] [Tomcat] Créer un environnement pour Tomcat 9 avec IntelliJ
Jusqu'à ce que vous exécutiez un programme Java avec le SDK AWS local sur Windows
J'ai essayé de casser le bloc avec java (1)
Soumettre une tâche à AWS Batch avec Java (Eclipse)
[Java] Comment rompre une ligne avec StringBuilder
Déploiement d'un environnement Java avec le sous-système Windows pour Linux (WSL)
J'ai essayé de créer un environnement de développement java8 avec Chocolatey
[Débutant] Essayez de créer un jeu RPG simple avec Java ①
Je veux faire une liste avec kotlin et java!
Je veux créer une fonction avec kotlin et java!
Comment déplacer une autre classe avec une action de bouton d'une autre classe.
Même en Java, je veux afficher true avec un == 1 && a == 2 && a == 3
Un mémo pour démarrer la programmation Java avec VS Code (version 2020-04)
Java pour jouer avec Function
Connectez-vous à DB avec Java
Connectez-vous à MySQL 8 avec Java
Une histoire que j'ai eu du mal à défier le pro de la concurrence avec Java
Comment faire fonctionner automatiquement un écran créé en Java sous Windows
Connexion à une base de données avec Java (partie 1) Peut-être la méthode de base
Remplacer par une valeur selon la correspondance avec une expression régulière Java