[Fotos organisieren] [Java] [Fenster] Verschieben Sie ausgewählte Fotos mit 2 Klicks in einen Ordner

Sortiert die Fotos, auf die im Photo Viewer verwiesen wird, in die Ordner ★★★.

Das Sortieren von Fotodateien erfordert Zeit und Mühe. Es ist Korejanai, der die Nummer vergisst oder versucht, sie zu drucken, während er sie auswählt. Oder unnötige Fotos anschauen. Ich möchte nur die Dateien sehen, die ich brauche! Außerdem habe ich so etwas zu meiner eigenen Bequemlichkeit gemacht, weil ich es einfach klären wollte.

Wenn Sie dies (★★★ .EXE) über den Fotobetrachter starten, wird ★★★ im aktuellen Ordner erstellt und in ★★★ verschoben.

Zum Beispiel

Angenommen, Sie haben Dateien von 001.JPG bis 005.JPG mit dieser Ordnerstruktur.

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

Wenn Sie in diesem Zustand ★★★ starten, während Sie im Foto-Viewer 003.jpg auswählen, wird ein ★★★ Ordner in derselben Zeile wie JPG erstellt (siehe Abbildung unten) und 003.jpg wird verschoben.

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

Aufgrund der Eigenschaften des Foto-Viewers wiederholt die verschobene Datei die Fotos und Bilder in dem Ordner, den Sie anzeigen, sodass Sie die verschobene Datei nur sehen können, wenn Sie den angezeigten Ordner ändern.

Mit anderen Worten, nach dem Verschieben verweist der Fotobetrachter nur auf die folgenden Dateien.

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

Wenn Sie sich nach dem Verschieben die Bilder aus dem Ordner ★★★ ansehen, werden nur die folgenden Dateien angezeigt.

├ ★★★   ├ 003.jpg

Einige Vorbereitungen (Umgebung, in der JAVA ausgeführt werden kann, Wiederbelebung des Fotobetrachters) sind erforderlich, aber es ist sehr einfach, Fotos mit nur 2 Klicks zu sortieren (1. Öffnen → 2. ★★★).

20.jpg

Die Exe-Verarbeitung erfolgt über launch4j usw. http://launch4j.sourceforge.net/

In diesem Bereich können Sie den Fotobetrachter aktivieren. Das Bearbeiten der Registrierung ist schnell und einfach. https://popozure.info/20190823/14633

Laden Sie die ausführbare Datei herunter

Ich bin sicher, Sie möchten nur die ausführbare Datei Sie können die ausführbare Datei herunterladen, indem Sie sie hier herunterladen. https://drive.google.com/open?id=1dKcispHr8_D81kaPRgID7oKf27bEMfvS

Für alle Fälle werde ich auch die Quelle veröffentlichen

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 {
        //Geben Sie die Ausgabedatei an
        FileHandler fh = new FileHandler("starSelector.log", true);
        //Geben Sie das Ausgabeformat an
        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("Name des übergeordneten Verzeichnisses des übergeordneten Elements: " + parentDir.getParent());
      String strParentDir = file.getParent();
      String strFileName = file.getPath();
      String strStarDir = "★★★";
      File moveNewFolder = new File(parentDir.getParent() + "\\" + strStarDir);
      //Dateiprüfung lesen
      if (!file.exists() || !file.canRead()) {
        logger.log(Level.WARNING, "Die angegebene Datei existiert nicht");
        return;
      }
      if (file.getParent() == null) {
        logger.log(Level.INFO, "Die Datei im Home-Verzeichnis wird angegeben. Übergeordnetes Verzeichnis kann nicht angegeben werden");
        return;
      }
      //Diretry Check
      if (parentDir.getParent() == null) {
        logger.log(Level.INFO, "Die Datei im Home-Verzeichnis wird angegeben. Der Zielordner kann nicht angegeben werden");
        return;
      }
      moveNewFolder.mkdir();
      //Dateien verschieben
      File file2 = new File(parentDir.getParent() + "\\" + strStarDir + "\\" + file.getName());
      try {
        if (file.renameTo(file2)) {} else {
          logger.log(Level.WARNING, "Datei konnte nicht verschoben werden");
        }
      } catch (SecurityException e) {
        logger.log(Level.WARNING, e.toString());
      } catch (NullPointerException e) {
        logger.log(Level.WARNING, e.toString());
      }
    } catch (ArrayIndexOutOfBoundsException err) {
      System.out.println("Wie benutzt man: java starSelector <Dateien zum Verschieben>");
      return;
    }
  }
}

Recommended Posts

[Fotos organisieren] [Java] [Fenster] Verschieben Sie ausgewählte Fotos mit 2 Klicks in einen Ordner
Java-Programm zum Ändern der Größe eines Fotos in ein Quadrat mit Rändern
[Windows] [IntelliJ] [Java] [Tomcat] Erstellen Sie mit IntelliJ eine Umgebung für Tomcat 9
Bis Sie ein Java-Programm mit dem für Windows lokalen AWS SDK ausführen
Ich habe versucht, den Block mit Java zu brechen (1)
Senden Sie einen Job an AWS Batch mit Java (Eclipse)
[Java] So unterbrechen Sie eine Zeile mit StringBuilder
Bereitstellen einer Java-Umgebung mit Windows Subsystem für Linux (WSL)
Ich habe versucht, mit Chocolatey eine Java8-Entwicklungsumgebung zu erstellen
[Anfänger] Versuchen Sie, mit Java ein einfaches RPG-Spiel zu erstellen ①
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Funktion mit Kotlin und Java erstellen!
So verschieben Sie eine andere Klasse mit einer Schaltflächenaktion einer anderen Klasse.
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben
Ein Memo zum Starten der Java-Programmierung mit VS Code (Version 2020-04)
Java zum Spielen mit Function
Stellen Sie mit Java eine Verbindung zur Datenbank her
Stellen Sie mit Java eine Verbindung zu MySQL 8 her
Eine Geschichte, die ich mit Java nur schwer herausfordern konnte
So bedienen Sie automatisch einen in Java unter Windows erstellten Bildschirm
Herstellen einer Verbindung zu einer Datenbank mit Java (Teil 1) Möglicherweise die grundlegende Methode
Ersetzen Sie durch einen Wert entsprechend der Übereinstimmung mit einem regulären Java-Ausdruck